Introduction

Football Salaries Dataset

https://www.kaggle.com/datasets/ultimus/football-salaries-dataset/data

Owner: https://www.kaggle.com/ultimus

“Wages are up to date as of the summer transfer window of the 2023-24 season. Data was extracted from the game FM24. It contains data for 40,000 players. This is an updated and better version of my previous 2022 salaries dataset. It has more data, better features, and a cleaned/transformed version of it as well”.

This analysis is based on a dataset that reflects players’ salaries and related variables for only a single year. Therefore, we cannot observe how these variable values change for each player over time. The findings are limited to the snapshot provided by the dataset.

1. Describe Dataset

The dataset used in this analysis is the cleaned version of the 2023-24 football player salary dataset, which provides an enhanced and transformed version of the original data. The cleaned dataset is preferred over the raw version as it has been processed to remove inconsistencies, errors, and duplicates, ensuring higher data quality for analysis. This dataset includes information about professional football players, focusing on various factors such as reputation, age, international appearances (Caps), and salary. The dataset also contains two merged categorical variables: EU Nationality, indicating EU versus non-EU players, and Based, representing the league or nation where the player’s club is located, which serves as a multi-category nominal variable. Additionally, Top 5 League is a binary variable identifying whether the player’s club competes in one of Europe’s top five leagues.”

This dataset includes information on the following variables:

  • Salary: Annual salary of the player (in euros).
  • Age: Player’s age in years.
  • Reputation: Player’s reputation, scaled from 0 to 10,000.
  • Caps: Number of international appearances the player has made.
  • Apps: Total number of club appearances the player has made.
  • EU National: Indicates if the player is an EU national (Y/N).
  • Is Top 5 League: Indicates whether the player’s club is part of the top 5 leagues in Europe (Y/N).
  • Last Transfer Fee: The fee paid by the current club to acquire the player, expressed in euros.
  • Begins: Current player contract starting day, it will be merged from other dataset as a categorical variable.
  • Based: Region where the player’s club is based, it will be merged from the other dataset as a categorical variable. This can help analyze salary differences by region.

The primary goal is to explore how key factors such as age, reputation, caps, and nationality relate to annual salary. Additionally, it considers whether league status and region affect earnings. The cleaned dataset provides these insights as a snapshot for a single year, 2023-24.

1.1 Project Overview: Key Statistical Concepts and Definitions

In this project, we explore foundational statistical concepts to understand potential factors influencing professional football players’ salaries using a dataset from the 2023-24 season. At this stage, we introduce these concepts with a tentative approach, providing an outline of how they might apply to the data.

Conceptual Framework: One possible framework involves hypothesizing that players’ salaries could be influenced by factors such as age, reputation, international appearances, and EU nationality. This conceptual framework might guide later analysis and the formulation of specific hypotheses.

Variables: In this exploratory context, Salary could serve as the dependent variable, or primary outcome of interest, while variables like Reputation, Age, Caps (international appearances), and EU Nationality may be considered as independent variables that potentially impact salary.

Descriptive Statistics: Descriptive statistics, including measures such as mean, median, and standard deviation, could be used to summarize the central tendencies and variability in the dataset. For instance, these metrics might help us understand typical salary ranges or reputation scores among players.

Inferential Statistics: To determine if patterns observed in the sample may extend to a broader population, we may apply inferential statistics. For example, a t-test could be conducted later to explore possible differences in salary between EU and non-EU players, providing insights that might indicate broader trends.

Statistical Significance: Statistical significance will allow us to interpret whether the relationships observed in the sample data are likely to reflect real effects in the population or could be due to chance. A result may be considered statistically significant if the p-value falls below a set threshold (e.g., p < 0.05), indicating that further analysis could reveal meaningful insights.

These foundational concepts provide a preliminary basis for structuring the analysis, and as we proceed, they may guide the decisions made in defining and testing relationships within the dataset.

2. Setup and Installation

3. Read datasets

This section ensures the dataset is correctly loaded and formatted in R for further analysis. We load the cleaned dataset, wages_cleaned.csv, which has been preprocessed for data consistency.

3.1 Main dataset: wages_cleaned

colnames(wages_cleaned)
##  [1] "Is_top_5_League"      "Based_rich_nation"    "Is_top_ranked_nation"
##  [4] "EU_National"          "Caps"                 "Apps"                
##  [7] "Age"                  "Reputation"           "Is_top_prev_club"    
## [10] "Last_Transfer_Fee"    "Salary"

3.2 Additional Dataset: raw_wages

# Check the column names of the raw_wages dataset
colnames(raw_wages)
##  [1] "Name"            "Club"            "Division"        "Based"          
##  [5] "Nat"             "EU.National"     "Caps"            "AT.Apps"        
##  [9] "Position"        "Age"             "CR"              "Begins"         
## [13] "Expires"         "Last.Club"       "Last.Trans..Fee" "Salary"

Inconsistent Data Formats:

  • The Salary column in raw_wages needs to be cleaned to remove the currency symbol and any trailing characters. It also needs to be converted to numeric.

  • The CR column in raw_wages needs to be cleaned to remove whitespace and the comma to match with Reputation.

3.3 Merging nominal variables to the main dataset

# Perform the inner join to add Begins and Based columns
data <- wages_cleaned %>%
  inner_join(raw_wages %>%
               select(Begins, Based, Salary, Age, CR, AT.Apps), 
             by = c("Salary" = "Salary", 
                    "Age" = "Age", 
                    "Apps" = "AT.Apps",
                    "Reputation" = "CR"))

# Check the first few rows of the merged dataset to verify the merge
head(data)
##   Is_top_5_League Based_rich_nation Is_top_ranked_nation EU_National Caps Apps
## 1               0                 1                    2           1  200  673
## 2               0                 1                    2           1   97  555
## 3               0                 1                    2           1  124  340
## 4               0                 1                    2           0    0  245
## 5               1                 1                    2           1   70  221
## 6               0                 1                    1           0   93  377
##   Age Reputation Is_top_prev_club Last_Transfer_Fee    Salary       Begins
## 1  38       7629                0                 0 203478000  31/12/2022 
## 2  35       8250                0                 0 199452000  1/7/2023   
## 3  31       9000                1                 0 149589000  15/8/2023  
## 4  25       7414                0                 0  74157000  27/8/2023  
## 5  24       9415                0                 0  48467000  22/7/2023  
## 6  31       7488                1                 0  40977000  1/8/2023   
##                                                       Based
## 1  Saudi Arabia (Saudi Pro League)                         
## 2  Saudi Arabia (Saudi Pro League)                         
## 3  Saudi Arabia (Saudi Pro League)                         
## 4  Saudi Arabia (Saudi Pro League)                         
## 5  France (Ligue 1)                                        
## 6  Saudi Arabia (Saudi Pro League)

3.4. Duplicated rows

In this analysis, we decided to retain duplicate rows for the following reasons:

  • Real-World Representation: duplicates may reflect valid repeated measures or observations, such as multiple records for the same player across different seasons or teams, which are common in sports data.

  • Statistical Power: keeping duplicates increases the sample size, enhancing the reliability and power of probabilistic tests by reducing variance in estimates.

  • Preserving Information: duplicates may carry meaningful information, especially for repeated measures or longitudinal data, which can help capture trends over time.

  • No Data Integrity Issues: the duplicates do not appear to result from errors but represent legitimate observations, so removing them would distort the dataset.

3.5 Adjusting the Is_top_5_League Variable

4. Summary Statistics

In this section, we summarize the main components of the dataset and list the key variables. The dataset contains a snapshot of football player information, including demographic details, reputation, and salary data, up to the 2023-24 season. For this analysis, we primarily use the cleaned dataset (wages_cleaned.csv) rather than the raw dataset to avoid pre-processing errors and ensure data quality.

4.1 Checking missing values

The output from colSums(is.na(data)) showing zeros for each variable indicates that there are no missing values in any column of the dataset. This is generally reliable for identifying missing data, as it directly counts NA values across all variables. However, to confirm this result and ensure no missing values are overlooked, we can use additional visualization methods for a more visual confirmation.

After running colSums(is.na(data)), we observe zero missing values across all columns, indicating no NA entries in the dataset. This finding is further confirmed visually with VIM’s aggr() and naniar::vis_miss(), both of which show no missing data patterns. Therefore, we are confident that the dataset is complete, and no further imputation or handling of missing values is necessary.

4.2 Descriptive Statistics

The objective of this section is to summarize the data and visually explore the distribution of key variables. This process helps us understand the data characteristics, including central tendencies, variability, and potential skewness, and allows for initial comparisons across categorical groups.

  • Continuous Variables (Salary, Age, Reputation, Caps, Apps):
    • If normally distributed, we calculate mean and standard deviation; if skewed, we use median and interquartile range (IQR).
    • Visualize these variables with histograms and box plots to explore distributions and detect any skewness or outliers.
  • Categorical Variables (EU National, Is Top 5 League, Based):
    • Calculate frequency counts and percentages.
    • Visualize with bar charts or pie charts.
## [1] "Continuous Variables Summary:"
## # A tibble: 5 × 8
##   Variable        mean median         sd    iqr   min       max     n
##   <chr>          <dbl>  <dbl>      <dbl>  <dbl> <dbl>     <dbl> <int>
## 1 Salary     362275.    54500 2147614.   169500   300 203478000 35478
## 2 Age            26.3      26       4.84      8    17        44 35478
## 3 Reputation   4789.     4707    1089.     1371    50     10000 35478
## 4 Caps            5.91      0      14.5       4     0       200 35478
## 5 Apps          145.      117     124.      186     1       799 35478

Characteristic N = 35,4781
EU_National 20,872 (59%)
Is_top_5_League 2,930 (8.3%)
Based
    Albania (Kategoria E Parë) 2 (<0.1%)
    Albania (Kategoria Superiore) 32 (<0.1%)
    Algeria (League 2 - East) 1 (<0.1%)
    Algeria (League 2 - West) 2 (<0.1%)
    Algeria (Ligue Professionnelle 1) 53 (0.1%)
    Andorra (Lliga Multisegur Assegurances) 53 (0.1%)
    Andorra (Lliga Unida) 1 (<0.1%)
    Angola (Girabola) 74 (0.2%)
    Angola (Lower Division) 3 (<0.1%)
    Angola (Segundona) 1 (<0.1%)
    Antigua & Barbuda (Digicel/Red Stripe Premier Division) 38 (0.1%)
    Antigua & Barbuda (Usl Pro) 5 (<0.1%)
    Argentina 2 (<0.1%)
    Argentina (Liga Profesional De Fútbol) 133 (0.4%)
    Argentina (Primera B Metropolitana) 1 (<0.1%)
    Argentina (Primera C) 2 (<0.1%)
    Argentina (Primera Nacional) 10 (<0.1%)
    Argentina (Torneo Argentino A) 7 (<0.1%)
    Argentina (Torneo Argentino B) 2 (<0.1%)
    Armenia 1 (<0.1%)
    Armenia (Aradżin Chumb) 2 (<0.1%)
    Armenia (Lower League) 2 (<0.1%)
    Armenia (Premier League) 56 (0.2%)
    Aruba (Division Di Honor) 28 (<0.1%)
    Australia 3 (<0.1%)
    Australia (Fqpl3 - South Coast) 1 (<0.1%)
    Australia (Isuzu Ute A-League) 72 (0.2%)
    Australia (Northern League One) 1 (<0.1%)
    Australia (Npl Act) 1 (<0.1%)
    Australia (Npl Nsw) 2 (<0.1%)
    Australia (Npl Queensland) 5 (<0.1%)
    Australia (Npl South Australia) 3 (<0.1%)
    Australia (Npl Victoria) 16 (<0.1%)
    Australia (Npl Wa) 3 (<0.1%)
    Australia (Sa - State League 1) 1 (<0.1%)
    Australia (Vic State League 5 North) 1 (<0.1%)
    Australia (Vpl 1) 9 (<0.1%)
    Australia (Wa State League Div 1) 2 (<0.1%)
    Austria (1. Salzburger Landesliga) 4 (<0.1%)
    Austria (2. Class East/Central) 1 (<0.1%)
    Austria (2. Class South (S)) 1 (<0.1%)
    Austria (2.Liga) 44 (0.1%)
    Austria (Bundesliga) 133 (0.4%)
    Austria (Eliteleague Vorarlberg) 2 (<0.1%)
    Austria (Ii. League North (B)) 1 (<0.1%)
    Austria (Ii. League South (B)) 1 (<0.1%)
    Austria (Oberösterreich-Liga) 2 (<0.1%)
    Austria (Regionalliga Mitte) 2 (<0.1%)
    Austria (Regionalliga Ost) 7 (<0.1%)
    Austria (Regionalliga West) 7 (<0.1%)
    Austria (Steiermark) 4 (<0.1%)
    Austria (Tiroler Liga) 1 (<0.1%)
    Austria (Under League East (K)) 1 (<0.1%)
    Austria (Under League West (K)) 1 (<0.1%)
    Austria (Upper-League North (St)) 1 (<0.1%)
    Austria (Vorarlbergliga) 1 (<0.1%)
    Azerbaijan (Birinci Liqası ) 3 (<0.1%)
    Azerbaijan (Həvəskarlar Liqası) 2 (<0.1%)
    Azerbaijan (Misli Premyer Liqası) 108 (0.3%)
    Bahamas (Bfa Senior League) 37 (0.1%)
    Bahrain (2nd Division) 6 (<0.1%)
    Bahrain (Premier League) 79 (0.2%)
    Bangladesh (Championship League) 3 (<0.1%)
    Bangladesh (Grameenphone Bangladesh Premier League) 52 (0.1%)
    Barbados 3 (<0.1%)
    Barbados (Digicel Premier League) 36 (0.1%)
    Barbados (Division One) 11 (<0.1%)
    Belarus (Pieršaja Liha) 2 (<0.1%)
    Belarus (Vyšejšaja Liha) 48 (0.1%)
    Belgium 2 (<0.1%)
    Belgium (Challenger Pro League) 97 (0.3%)
    Belgium (Jupiler Pro League) 260 (0.7%)
    Belgium (Nationale 1) 31 (<0.1%)
    Belgium (Third Division Acff D) 2 (<0.1%)
    Belize (Lower Leagues) 9 (<0.1%)
    Belize (Premier League) 24 (<0.1%)
    Benin (Beninese Ligue 1 - A) 9 (<0.1%)
    Benin (Beninese Ligue 1 - B) 15 (<0.1%)
    Benin (Beninese Ligue 1 - C) 12 (<0.1%)
    Benin (Beninese Ligue 1 - D) 2 (<0.1%)
    Bermuda (Premier Division) 16 (<0.1%)
    Bhutan (Premier League) 28 (<0.1%)
    Bolivia (Bolivian Regional) 1 (<0.1%)
    Bolivia (Copa Simón Bolívar) 15 (<0.1%)
    Bolivia (División Profesional) 102 (0.3%)
    Bonaire (Kampionato) 20 (<0.1%)
    Bosnia & Herzegovina (M:Tel Premier League) 41 (0.1%)
    Bosnia & Herzegovina (Prva Liga Republike Srpske) 1 (<0.1%)
    Botswana (Lower Divisions) 3 (<0.1%)
    Botswana (Premier Division) 79 (0.2%)
    Brazil 1 (<0.1%)
    Brazil (Lower Division) 13 (<0.1%)
    Brazil (Série A) 242 (0.7%)
    Brazil (Série B) 46 (0.1%)
    Brazil (Série C) 13 (<0.1%)
    Brazil (Série D) 8 (<0.1%)
    Brunei (Super League) 11 (<0.1%)
    Bulgaria (Efbet League) 118 (0.3%)
    Bulgaria (Regional Krdzhali-Smolyan) 1 (<0.1%)
    Bulgaria (Sofia V) 4 (<0.1%)
    Bulgaria (Vtora Liga) 11 (<0.1%)
    Burkina Faso (Burkinabé D1) 6 (<0.1%)
    Burundi (Premier Division) 28 (<0.1%)
    Cambodia (C-League) 60 (0.2%)
    Cambodia (Lower Division) 5 (<0.1%)
    Cambodia (Second League) 2 (<0.1%)
    Cameroon (Elite One A) 20 (<0.1%)
    Cameroon (Elite One B) 21 (<0.1%)
    Cameroon (Elite Two) 5 (<0.1%)
    Canada 1 (<0.1%)
    Canada (Canadian Premier League) 54 (0.2%)
    Canada (Csl) 1 (<0.1%)
    Canada (League1 Ontario) 2 (<0.1%)
    Canada (Première Ligue De Soccer Du Québec) 1 (<0.1%)
    Cape Verde (Boa Vista Premier) 1 (<0.1%)
    Cape Verde (Fogo Premier) 1 (<0.1%)
    Cape Verde (Sal Premier) 1 (<0.1%)
    Cape Verde (Santiago (S) Premier) 3 (<0.1%)
    Cape Verde (Santo Antão (S) Premier) 1 (<0.1%)
    Cape Verde (São Nicolau Premier) 1 (<0.1%)
    Cape Verde (São Vicente Premier) 9 (<0.1%)
    Central African Rep. (Premier Division) 28 (<0.1%)
    Chad (Premier Division) 19 (<0.1%)
    Chile (Campeonato Afp Planvital) 286 (0.8%)
    Chile (Campeonato Primera B) 99 (0.3%)
    Chile (Segunda División) 8 (<0.1%)
    Chile (Tercera División) 1 (<0.1%)
    China (Amateur League) 1 (<0.1%)
    China (Changchun) 1 (<0.1%)
    China (China League One) 28 (<0.1%)
    China (Chinese Super League) 142 (0.4%)
    China (Second Division South) 1 (<0.1%)
    Chinese Taipei (China Pr) (Ctp Division 2) 3 (<0.1%)
    Chinese Taipei (China Pr) (Ctp Premier League) 35 (<0.1%)
    Colombia (Liga Betplay) 67 (0.2%)
    Colombia (Primera C) 1 (<0.1%)
    Colombia (Torneo Betplay) 10 (<0.1%)
    Comoros (Premier League Mwali) 4 (<0.1%)
    Comoros (Premier League Ndzuani) 6 (<0.1%)
    Comoros (Premier League Ngazidja) 21 (<0.1%)
    Congo (Championnat National) 42 (0.1%)
    Costa Rica (Liga De Ascenso) 10 (<0.1%)
    Costa Rica (Lower Division) 1 (<0.1%)
    Costa Rica (Primera División) 70 (0.2%)
    Crimea 1 (<0.1%)
    Crimea (Crimean Premier League) 1 (<0.1%)
    Croatia 1 (<0.1%)
    Croatia (Supersport Druga Nl) 3 (<0.1%)
    Croatia (Supersport Hnl) 122 (0.3%)
    Croatia (Supersport Prva Nl) 13 (<0.1%)
    Croatia (Treća Nl Sjever) 1 (<0.1%)
    Croatia (Treća Nl Zapad) 4 (<0.1%)
    Croatia (Znl - Pazin) 1 (<0.1%)
    Cuba (Campeonato Nacional) 20 (<0.1%)
    Curaçao (2nd Division) 2 (<0.1%)
    Curaçao (Promé Divishon) 15 (<0.1%)
    Cyprus (B' Katigoria) 28 (<0.1%)
    Cyprus (Cyta Championship) 178 (0.5%)
    Czechia (Čfl A) 3 (<0.1%)
    Czechia (Čfl B) 2 (<0.1%)
    Czechia (Fortuna Liga) 99 (0.3%)
    Czechia (Fortuna Národní Liga) 19 (<0.1%)
    Czechia (Lower Division) 1 (<0.1%)
    Czechia (Msfl) 2 (<0.1%)
    Denmark (2. Division) 10 (<0.1%)
    Denmark (3. Division) 2 (<0.1%)
    Denmark (3f Superliga) 104 (0.3%)
    Denmark (Nordicbet Liga) 36 (0.1%)
    Djibouti (Premier Division) 27 (<0.1%)
    Dominica (First Division) 1 (<0.1%)
    Dominica (Premiere League) 34 (<0.1%)
    Dominican Republic (Liga Dominicana De Fútbol) 42 (0.1%)
    Dr Congo 1 (<0.1%)
    Dr Congo (Linafoot A) 44 (0.1%)
    Dr Congo (Linafoot B) 21 (<0.1%)
    East Timor (Premier Division) 27 (<0.1%)
    East Timor (Second Division) 4 (<0.1%)
    Ecuador (Ligapro Serie A) 68 (0.2%)
    Ecuador (Ligapro Serie B) 12 (<0.1%)
    Ecuador (S.c. De Chimborazo) 2 (<0.1%)
    Ecuador (S.c. De Esmeraldas) 1 (<0.1%)
    Ecuador (S.c. De Guayas) 1 (<0.1%)
    Ecuador (S.c. De Loja) 1 (<0.1%)
    Egypt (Premier League) 117 (0.3%)
    Egypt (Second Division - Group 1) 7 (<0.1%)
    Egypt (Second Division - Group 2) 11 (<0.1%)
    Egypt (Second Division - Group 3) 2 (<0.1%)
    Egypt (Third Division - Group 5) 1 (<0.1%)
    El Salvador 1 (<0.1%)
    El Salvador (Primerà Division) 65 (0.2%)
    El Salvador (Segunda División) 1 (<0.1%)
    England 13 (<0.1%)
    England (Efl Championship) 800 (2.3%)
    England (Efl League One) 617 (1.7%)
    England (Efl League Two) 537 (1.5%)
    England (Evo-Stik League Premier Division) 21 (<0.1%)
    England (Hellenic D1) 1 (<0.1%)
    England (Isthmian D1 Sc) 4 (<0.1%)
    England (Midland Premier) 2 (<0.1%)
    England (National League North) 39 (0.1%)
    England (National League South) 59 (0.2%)
    England (National League) 214 (0.6%)
    England (Northern D2) 2 (<0.1%)
    England (Northern Premier D1e) 2 (<0.1%)
    England (Northern Premier D1m) 2 (<0.1%)
    England (Northern Premier D1w) 6 (<0.1%)
    England (Premier League) 717 (2.0%)
    England (Ryman League Premier Division) 6 (<0.1%)
    England (Sl - Division One Central) 3 (<0.1%)
    England (Southern Premier Central) 8 (<0.1%)
    England (Southern Premier South) 11 (<0.1%)
    England (Spartan South Midlands Football League) 2 (<0.1%)
    England (Sussex County Football League) 1 (<0.1%)
    Eq. Guinea (1. Continental) 10 (<0.1%)
    Eq. Guinea (1. Insular) 13 (<0.1%)
    Eq. Guinea (Second Division) 1 (<0.1%)
    Eritrea (Premier Division) 2 (<0.1%)
    Estonia 1 (<0.1%)
    Estonia (Esiliiga B) 1 (<0.1%)
    Estonia (Esiliiga) 4 (<0.1%)
    Estonia (Lower Leagues) 3 (<0.1%)
    Estonia (Meistriliiga) 42 (0.1%)
    Eswatini (Lower Divisions) 1 (<0.1%)
    Eswatini (Premier League) 52 (0.1%)
    Ethiopia (Higher League Group B) 2 (<0.1%)
    Ethiopia (Higher League Group C) 2 (<0.1%)
    Ethiopia (Higher League) 6 (<0.1%)
    Ethiopia (Lower Divisions) 1 (<0.1%)
    Ethiopia (Premier Division) 85 (0.2%)
    Faroe Islands (1. Deild) 1 (<0.1%)
    Faroe Islands (Betri Deildin Menn) 39 (0.1%)
    Fiji (Lower Division) 2 (<0.1%)
    Fiji (Premier League) 45 (0.1%)
    Finland 1 (<0.1%)
    Finland (Kakkonen Lohko A) 3 (<0.1%)
    Finland (Kakkonen Lohko B) 2 (<0.1%)
    Finland (Veikkausliiga) 66 (0.2%)
    Finland (Ykkönen) 11 (<0.1%)
    France 22 (<0.1%)
    France (Ligue 1) 479 (1.4%)
    France (Ligue 2) 462 (1.3%)
    France (Ligues Régionales) 8 (<0.1%)
    France (National 2 Groupe A) 170 (0.5%)
    France (National 2 Groupe B) 160 (0.5%)
    France (National 2 Groupe C) 155 (0.4%)
    France (National 2 Groupe D) 149 (0.4%)
    France (National 3 - Group A) 86 (0.2%)
    France (National 3 - Group B) 73 (0.2%)
    France (National 3 - Group C) 41 (0.1%)
    France (National 3 - Group D) 55 (0.2%)
    France (National 3 - Group E) 49 (0.1%)
    France (National 3 - Group F) 62 (0.2%)
    France (National 3 - Group G) 99 (0.3%)
    France (National 3 - Group H) 58 (0.2%)
    France (National 3 - Group I) 92 (0.3%)
    France (National 3 - Group J) 62 (0.2%)
    France (National 3 - Group K) 84 (0.2%)
    France (National) 420 (1.2%)
    France (R1 - Auvergne Ra - B) 2 (<0.1%)
    France (R1 - Auvergne Ra - C) 11 (<0.1%)
    France (R1 - Bretagne - A) 19 (<0.1%)
    France (R1 - Hauts De France - A) 15 (<0.1%)
    France (R1 - Méditerranée) 21 (<0.1%)
    France (R1 - Normandie - B) 1 (<0.1%)
    France (R1 - Occitanie - A) 5 (<0.1%)
    France (R1 - Occitanie - C) 6 (<0.1%)
    France (R1 - Paris Idf - A) 17 (<0.1%)
    France (R1 - Paris Idf - B) 14 (<0.1%)
    France (R1 - Pays De La Loire - A) 7 (<0.1%)
    French Guiana (Régional 1) 24 (<0.1%)
    Gabon (Championnat D1) 20 (<0.1%)
    Georgia (Erovnuli Liga) 46 (0.1%)
    Georgia (Liga 3) 2 (<0.1%)
    Germany 4 (<0.1%)
    Germany (2. Bundesliga) 587 (1.7%)
    Germany (3. Liga) 509 (1.4%)
    Germany (Baden-Württemberg) 47 (0.1%)
    Germany (Bayernliga Nord) 8 (<0.1%)
    Germany (Bayernliga Süd) 25 (<0.1%)
    Germany (Bremen-Liga) 15 (<0.1%)
    Germany (Bundesliga) 516 (1.5%)
    Germany (German Lower Division) 45 (0.1%)
    Germany (Hessia) 24 (<0.1%)
    Germany (North East-South) 27 (<0.1%)
    Germany (Oberliga Hamburg) 8 (<0.1%)
    Germany (Oberliga Mittelrhein) 29 (<0.1%)
    Germany (Oberliga Niederrhein) 39 (0.1%)
    Germany (Oberliga Niedersachsen) 27 (<0.1%)
    Germany (Oberliga Nordost) 33 (<0.1%)
    Germany (Oberliga Schleswig-Holstein) 3 (<0.1%)
    Germany (Oberliga Westfalen) 41 (0.1%)
    Germany (Regionalliga Bayern) 249 (0.7%)
    Germany (Regionalliga Nord) 197 (0.6%)
    Germany (Regionalliga Nordost) 277 (0.8%)
    Germany (Regionalliga Südwest) 370 (1.0%)
    Germany (Regionalliga West) 284 (0.8%)
    Germany (Rp/Saar) 33 (<0.1%)
    Germany (U19 Div. 2 North) 3 (<0.1%)
    Ghana (Division One League Zone 2) 1 (<0.1%)
    Ghana (Division One League Zone 3) 2 (<0.1%)
    Ghana (Lower Division) 2 (<0.1%)
    Ghana (Premier League) 24 (<0.1%)
    Gibraltar (Football League) 50 (0.1%)
    Greece (A' Eps Anatolikís Attikís) 1 (<0.1%)
    Greece (G Ethniki 3os Omilos) 2 (<0.1%)
    Greece (G Ethniki 4os Omilos) 2 (<0.1%)
    Greece (Super League 1) 185 (0.5%)
    Greece (Super League 2 Notios Omilos) 17 (<0.1%)
    Greece (Super League 2 Voreios Omilos) 8 (<0.1%)
    Grenada (Premier Division) 34 (<0.1%)
    Guadeloupe (Ligue Régionale 3) 1 (<0.1%)
    Guadeloupe (R2 Poule A) 4 (<0.1%)
    Guadeloupe (Régionale 1) 22 (<0.1%)
    Guadeloupe (Régionale 2 Poule B) 4 (<0.1%)
    Guatemala (Liga Nacional) 67 (0.2%)
    Guatemala (Primera División De Ascenso) 14 (<0.1%)
    Guinea-Bissau (Gb Division 1) 18 (<0.1%)
    Guinea (Lower Divisions) 2 (<0.1%)
    Guinea (Premier Division) 39 (0.1%)
    Guyana (Gff Elite League) 23 (<0.1%)
    Guyana (Regional Leagues) 5 (<0.1%)
    Haiti (D2 Sud) 2 (<0.1%)
    Haiti (Digicel Championnat Haitienne) 11 (<0.1%)
    Honduras 1 (<0.1%)
    Honduras (Liga Nacional De Ascenso) 2 (<0.1%)
    Honduras (Liga Salva-Vida) 67 (0.2%)
    Hong Kong (China Pr) (First Division) 7 (<0.1%)
    Hong Kong (China Pr) (Hong Kong First Division) 44 (0.1%)
    Hong Kong (China Pr) (Lower Division) 1 (<0.1%)
    Hungary (Division Iii - Northeast) 1 (<0.1%)
    Hungary (Division Iii - Northwest) 1 (<0.1%)
    Hungary (Division Iii - Southwest) 1 (<0.1%)
    Hungary (Merkantil Bank Liga) 18 (<0.1%)
    Hungary (Otp Bank Liga) 90 (0.3%)
    Iceland (1. Deild Karla) 17 (<0.1%)
    Iceland (2. Deild Karla) 3 (<0.1%)
    Iceland (3. Deild Karla) 1 (<0.1%)
    Iceland (Besta-Deild Karla) 64 (0.2%)
    Iceland (Fourth Division) 2 (<0.1%)
    India 1 (<0.1%)
    India (Airtel I-League 3rd Division) 2 (<0.1%)
    India (Hero 2nd Division League) 3 (<0.1%)
    India (Hero I-League) 20 (<0.1%)
    India (Indian Lower Division) 3 (<0.1%)
    India (Indian Super League) 92 (0.3%)
    Indonesia (League Two Group 1) 6 (<0.1%)
    Indonesia (League Two Group 2) 4 (<0.1%)
    Indonesia (League Two Group 3) 1 (<0.1%)
    Indonesia (League Two Group 4) 9 (<0.1%)
    Indonesia (Liga 1) 134 (0.4%)
    Indonesia (Liga 3) 1 (<0.1%)
    Iran (Azadegan League) 1 (<0.1%)
    Iran (Iran Pro League) 68 (0.2%)
    Iraq (Dawri Al-Nokhba) 106 (0.3%)
    Iraq (First Division A) 7 (<0.1%)
    Iraq (First Division B) 6 (<0.1%)
    Iraq (Lower Division) 1 (<0.1%)
    Ireland 1 (<0.1%)
    Ireland (First Division) 33 (<0.1%)
    Ireland (Premier Division) 146 (0.4%)
    Israel (B League North A) 1 (<0.1%)
    Israel (Liga Alef B) 4 (<0.1%)
    Israel (Liga Alef North) 1 (<0.1%)
    Israel (Liga Leumit) 19 (<0.1%)
    Israel (Ligat Ha`Al) 119 (0.3%)
    Italy 19 (<0.1%)
    Italy (Eccellenza Abruzzo) 2 (<0.1%)
    Italy (Eccellenza Basilicata) 5 (<0.1%)
    Italy (Eccellenza Calabria) 3 (<0.1%)
    Italy (Eccellenza Campania A) 6 (<0.1%)
    Italy (Eccellenza Campania B) 1 (<0.1%)
    Italy (Eccellenza Emilia-Rom. A) 10 (<0.1%)
    Italy (Eccellenza Emilia-Rom. B) 2 (<0.1%)
    Italy (Eccellenza Friuli-V.g.) 2 (<0.1%)
    Italy (Eccellenza Lazio A) 4 (<0.1%)
    Italy (Eccellenza Lazio B) 5 (<0.1%)
    Italy (Eccellenza Liguria) 3 (<0.1%)
    Italy (Eccellenza Lombardia A) 7 (<0.1%)
    Italy (Eccellenza Lombardia B) 11 (<0.1%)
    Italy (Eccellenza Lombardia C) 3 (<0.1%)
    Italy (Eccellenza Marche) 6 (<0.1%)
    Italy (Eccellenza Molise) 1 (<0.1%)
    Italy (Eccellenza Piemonte A) 1 (<0.1%)
    Italy (Eccellenza Piemonte B) 5 (<0.1%)
    Italy (Eccellenza Puglia A) 5 (<0.1%)
    Italy (Eccellenza Puglia B) 12 (<0.1%)
    Italy (Eccellenza Sardegna) 6 (<0.1%)
    Italy (Eccellenza Sicilia A) 7 (<0.1%)
    Italy (Eccellenza Toscana A) 3 (<0.1%)
    Italy (Eccellenza Toscana B) 3 (<0.1%)
    Italy (Eccellenza Trentino-A.a.) 1 (<0.1%)
    Italy (Eccellenza Umbria) 3 (<0.1%)
    Italy (Eccellenza Veneto A) 3 (<0.1%)
    Italy (Eccellenza Veneto B) 3 (<0.1%)
    Italy (Promoz. Piemonte-Vda B) 1 (<0.1%)
    Italy (Serie A) 672 (1.9%)
    Italy (Serie B) 567 (1.6%)
    Italy (Serie C Girone A) 449 (1.3%)
    Italy (Serie C Girone B) 449 (1.3%)
    Italy (Serie C Girone C) 475 (1.3%)
    Italy (Serie D Girone A) 62 (0.2%)
    Italy (Serie D Girone B) 68 (0.2%)
    Italy (Serie D Girone C) 52 (0.1%)
    Italy (Serie D Girone D) 77 (0.2%)
    Italy (Serie D Girone E) 69 (0.2%)
    Italy (Serie D Girone F) 47 (0.1%)
    Italy (Serie D Girone G) 44 (0.1%)
    Italy (Serie D Girone H) 63 (0.2%)
    Italy (Serie D Girone I) 46 (0.1%)
    Ivory Coast (Ligue 1) 5 (<0.1%)
    Jamaica (Jff Championship) 3 (<0.1%)
    Jamaica (Red Stripe Premier League) 57 (0.2%)
    Japan (Football League) 7 (<0.1%)
    Japan (J1 League) 402 (1.1%)
    Japan (J2 League) 208 (0.6%)
    Japan (J3 League) 27 (<0.1%)
    Japan (Kanto Soccer League) 1 (<0.1%)
    Japan (Tokyo League) 2 (<0.1%)
    Jordan (Al-Manaseer Jordanian Pro League 1st Division) 62 (0.2%)
    Jordan (Al-Manaseer Jordanian Pro League 2nd Division) 2 (<0.1%)
    Kazakhstan (Almaty A League) 1 (<0.1%)
    Kazakhstan (Byrynszy Liga) 6 (<0.1%)
    Kazakhstan (Priemjer Ligasy) 98 (0.3%)
    Kazakhstan (South Kazakhstan Champ.) 1 (<0.1%)
    Kenya (Kenyan Premier Division) 6 (<0.1%)
    Kosovo (First League B) 1 (<0.1%)
    Kosovo (Superleague) 27 (<0.1%)
    Kuwait (Kuwaiti Division One) 5 (<0.1%)
    Kuwait (Kuwaiti Premier League) 90 (0.3%)
    Kyrgyzstan (Shoro Top League) 44 (0.1%)
    Laos (Lao Premier League) 46 (0.1%)
    Laos (Laotian League 2) 2 (<0.1%)
    Laos (League 2 Group B) 2 (<0.1%)
    Laos (Lower Division) 2 (<0.1%)
    Latvia (1. Līga) 1 (<0.1%)
    Latvia (Optibet Virslīga) 48 (0.1%)
    Lebanon (Lebanese Premier League) 58 (0.2%)
    Lebanon (Lebanese Second Division) 1 (<0.1%)
    Lesotho (Lower Divisions) 1 (<0.1%)
    Lesotho (Premier Division) 49 (0.1%)
    Liberia (Liberian Lower Division) 1 (<0.1%)
    Liberia (Premier League) 48 (0.1%)
    Liberia (Second Division) 3 (<0.1%)
    Libya (First Division) 103 (0.3%)
    Libya (Libyan Second Division) 3 (<0.1%)
    Libya (Second Divisin Group 3) 1 (<0.1%)
    Libya (Second Division Group 5) 1 (<0.1%)
    Libya (Second Division Group 6) 1 (<0.1%)
    Lithuania (A Lyga) 66 (0.2%)
    Lithuania (I Lyga) 7 (<0.1%)
    Luxembourg (Bgl Ligue) 106 (0.3%)
    Luxembourg (Éierepromotioun) 19 (<0.1%)
    Macau (China Pr) (1ª Divisão) 14 (<0.1%)
    Madagascar (Opl - Conference Nord) 15 (<0.1%)
    Madagascar (Opl - Conference Sud) 16 (<0.1%)
    Madagascar (Pro League) 4 (<0.1%)
    Malawi (Premier Division) 56 (0.2%)
    Malaysia 3 (<0.1%)
    Malaysia (Astro Liga Super Malaysia) 121 (0.3%)
    Malaysia (M3 League) 10 (<0.1%)
    Malaysia (M4 League Borneo) 2 (<0.1%)
    Maldives (Dhivehi League) 24 (<0.1%)
    Maldives (Second Division) 1 (<0.1%)
    Mali (Bamako League) 1 (<0.1%)
    Mali (Koulikoro Championship) 1 (<0.1%)
    Mali (Malian Ligue 1) 32 (<0.1%)
    Malta (Challenge League) 9 (<0.1%)
    Malta (Premier League) 52 (0.1%)
    Martinique (Régionale 1) 38 (0.1%)
    Martinique (Régionale 2 Groupe A) 1 (<0.1%)
    Mauritania (Mauritanian D1) 28 (<0.1%)
    Mauritania (Mauritanian Lower Leagues) 1 (<0.1%)
    Mauritius 1 (<0.1%)
    Mauritius (Lower Divisions) 5 (<0.1%)
    Mauritius (Premier Division) 22 (<0.1%)
    Mexico 1 (<0.1%)
    Mexico (Expansion League) 8 (<0.1%)
    Mexico (Liga Mx) 176 (0.5%)
    Mexico (Liga Premier Serie A Grupo 2) 1 (<0.1%)
    Moldova (Moldovan Divizia A Group) 2 (<0.1%)
    Moldova (Moldovan Lower Division) 1 (<0.1%)
    Moldova (Super Liga) 43 (0.1%)
    Mongolia (Niislel League) 42 (0.1%)
    Montenegro 1 (<0.1%)
    Montenegro (1.Cfl) 14 (<0.1%)
    Montenegro (2. Cfl) 6 (<0.1%)
    Morocco (Botola 2) 13 (<0.1%)
    Morocco (Botola Pro 1) 55 (0.2%)
    Morocco (Championnat National Amateur) 5 (<0.1%)
    Morocco (Lower Leagues) 1 (<0.1%)
    Mozambique (Mozambican Lower Division) 5 (<0.1%)
    Mozambique (Premier Division) 80 (0.2%)
    Myanmar (Myanmar National League 2) 1 (<0.1%)
    Myanmar (Myanmar National League) 41 (0.1%)
    N.ireland (Nifl Premier Intermediate League) 1 (<0.1%)
    N.ireland (Nifl Premiership) 65 (0.2%)
    Namibia 1 (<0.1%)
    Namibia (Lower Divisions) 1 (<0.1%)
    Namibia (Premier Division) 26 (<0.1%)
    Nepal (A-Division) 27 (<0.1%)
    Nepal (B-Division) 2 (<0.1%)
    Nepal (Nepali Super League) 7 (<0.1%)
    Netherlands 1 (<0.1%)
    Netherlands (Eerste Divisie) 97 (0.3%)
    Netherlands (Eredivisie) 243 (0.7%)
    Netherlands (Tweede Divisie) 3 (<0.1%)
    New Caledonia 2 (<0.1%)
    New Caledonia (Promotion D'honneur Lifou) 1 (<0.1%)
    New Caledonia (Promotion D'honneur Maré) 1 (<0.1%)
    New Caledonia (Promotion D'honneur Nord) 1 (<0.1%)
    New Caledonia (Super Ligue) 36 (0.1%)
    New Zealand (Central Region Premier League) 1 (<0.1%)
    New Zealand (Northern Premier League) 2 (<0.1%)
    Nicaragua (Primera Division) 38 (0.1%)
    Nicaragua (Segunda División) 6 (<0.1%)
    Niger (Lower Divisions) 4 (<0.1%)
    Niger (Premier Division) 29 (<0.1%)
    Nigeria 1 (<0.1%)
    Nigeria (Nigeria Nationwide League Division One) 1 (<0.1%)
    Nigeria (Nigeria Professional Football League) 46 (0.1%)
    Nigeria (Second Division A2) 1 (<0.1%)
    Nigeria (Second Division B1) 1 (<0.1%)
    North Korea (Dpr Korea League) 61 (0.2%)
    North Macedonia (1. Mfl) 34 (<0.1%)
    Norway (Eliteserien) 90 (0.3%)
    Norway (Fourth Div. Rogaland 1) 1 (<0.1%)
    Norway (Fourth Div. Rogaland 2) 2 (<0.1%)
    Norway (Fourth Division Agder) 1 (<0.1%)
    Norway (Fourth Division Østfold) 1 (<0.1%)
    Norway (Norsk Tipping-Ligaen Avd 1) 2 (<0.1%)
    Norway (Norsk Tipping-Ligaen Avd 2) 2 (<0.1%)
    Norway (Norsk Tipping-Ligaen Avd 4) 2 (<0.1%)
    Norway (Norsk Tipping-Ligaen Avd 6) 1 (<0.1%)
    Norway (Obos-Ligaen) 29 (<0.1%)
    Norway (Postnord-Ligaen Avd 1) 7 (<0.1%)
    Norway (Postnord-Ligaen Avd 2) 3 (<0.1%)
    Oman 3 (<0.1%)
    Oman (Lower Division) 3 (<0.1%)
    Oman (Omantel League) 79 (0.2%)
    Palestine (Gaza Strip League) 1 (<0.1%)
    Palestine (West Bank First League) 4 (<0.1%)
    Palestine (West Bank Premier League) 31 (<0.1%)
    Panama (Liga Panameña) 42 (0.1%)
    Panama (Lower Leagues) 1 (<0.1%)
    Papua New Guinea (National Soccer League) 22 (<0.1%)
    Paraguay (División Intermedia) 5 (<0.1%)
    Paraguay (Primera División B Nacional) 1 (<0.1%)
    Paraguay (Primera División B: Metropolitana) 1 (<0.1%)
    Paraguay (Primera División) 41 (0.1%)
    Peru (Liga 1) 67 (0.2%)
    Peru (Liga 2) 9 (<0.1%)
    Philippines (Football League) 13 (<0.1%)
    Philippines (Lower Division) 4 (<0.1%)
    Poland (Ekstraklasa) 144 (0.4%)
    Poland (I Liga) 42 (0.1%)
    Poland (Ii Liga) 11 (<0.1%)
    Poland (Iv Liga) 10 (<0.1%)
    Poland (Third Division Group 3) 2 (<0.1%)
    Poland (Third Division Group 4) 8 (<0.1%)
    Portugal 23 (<0.1%)
    Portugal (Algarve First Division) 12 (<0.1%)
    Portugal (Azores League) 1 (<0.1%)
    Portugal (Braga Pro-National) 2 (<0.1%)
    Portugal (Campeonato De Portugal Prio A) 62 (0.2%)
    Portugal (Campeonato De Portugal Prio B) 144 (0.4%)
    Portugal (Campeonato De Portugal Prio C) 51 (0.1%)
    Portugal (Campeonato De Portugal Prio D) 92 (0.3%)
    Portugal (Liga Portugal 2 Sabseg) 548 (1.5%)
    Portugal (Liga Portugal Betclic) 615 (1.7%)
    Portugal (Lisbon Pro-National) 14 (<0.1%)
    Portugal (Lower Regional Divisions) 11 (<0.1%)
    Portugal (Madeira Honor Division) 1 (<0.1%)
    Portugal (Porto Elite Serie 1) 1 (<0.1%)
    Portugal (Pt 3rd Division N) 207 (0.6%)
    Portugal (Pt 3rd Division S) 174 (0.5%)
    Portugal (Vila Real Honor Division) 8 (<0.1%)
    Puerto Rico (Liga Pr) 8 (<0.1%)
    Puerto Rico (Lower Division) 1 (<0.1%)
    Puerto Rico (Prsl 2nd Div.) 7 (<0.1%)
    Qatar (Lower Division) 4 (<0.1%)
    Qatar (Qatargas League) 14 (<0.1%)
    Qatar (Qnb Stars League) 111 (0.3%)
    Réunion (D2r) 1 (<0.1%)
    Réunion (R1) 11 (<0.1%)
    Romania 1 (<0.1%)
    Romania (Liga I) 168 (0.5%)
    Romania (Liga Ii) 31 (<0.1%)
    Romania (Liga Iii - Seria I) 1 (<0.1%)
    Romania (Liga Iii - Seria Ii) 1 (<0.1%)
    Romania (Liga Iii - Seria Ix) 1 (<0.1%)
    Romania (Liga Iii - Seria X) 1 (<0.1%)
    Romania (Liga Iv - Harghita) 1 (<0.1%)
    Russia 1 (<0.1%)
    Russia (Fnl) 26 (<0.1%)
    Russia (Rpl) 167 (0.5%)
    Russia (Second Division A Gold) 2 (<0.1%)
    Russia (Second Division A Silver) 2 (<0.1%)
    Russia (Second Division B Group 4) 1 (<0.1%)
    Rwanda (Lower Divisions) 1 (<0.1%)
    Rwanda (Premier Division) 75 (0.2%)
    São Tomé & Príncipe (Príncipe Division 1) 1 (<0.1%)
    São Tomé & Príncipe (São Tomé Division 1) 18 (<0.1%)
    Saudi Arabia (First Division League) 71 (0.2%)
    Saudi Arabia (Saudi Pro League) 238 (0.7%)
    Saudi Arabia (Second Division Grp A) 17 (<0.1%)
    Saudi Arabia (Second Division Grp B) 7 (<0.1%)
    Saudi Arabia (Third Division Grp C) 2 (<0.1%)
    Scotland 8 (<0.1%)
    Scotland (Championship) 158 (0.4%)
    Scotland (Eos 2nd Div) 1 (<0.1%)
    Scotland (Highland League) 5 (<0.1%)
    Scotland (League One) 63 (0.2%)
    Scotland (League Two) 4 (<0.1%)
    Scotland (Lowland League) 7 (<0.1%)
    Scotland (Premiership) 305 (0.9%)
    Scotland (Wos 1st Div) 2 (<0.1%)
    Scotland (Wos Premier) 2 (<0.1%)
    Senegal (Senegalese Ligue 1) 29 (<0.1%)
    Senegal (Senegalese Ligue 2) 7 (<0.1%)
    Senegal (Senegalese National 1 - A) 1 (<0.1%)
    Serbia 1 (<0.1%)
    Serbia (Prva Liga) 10 (<0.1%)
    Serbia (Srpska Liga Beograd) 1 (<0.1%)
    Serbia (Srpska Liga Vojvodina) 2 (<0.1%)
    Serbia (Superliga) 89 (0.3%)
    Sierra Leone (Premier Division) 40 (0.1%)
    Singapore (Great Eastern Yeo's S League) 70 (0.2%)
    Singapore (Nfl Division 1) 4 (<0.1%)
    Slovakia (2. Liga) 3 (<0.1%)
    Slovakia (Fortuna Liga) 43 (0.1%)
    Slovenia 1 (<0.1%)
    Slovenia (2.Snl) 10 (<0.1%)
    Slovenia (3.Snl Zahod) 4 (<0.1%)
    Slovenia (Prvaliga) 47 (0.1%)
    Solomon Islands (S-League) 36 (0.1%)
    Somalia (Somali Premier Division) 37 (0.1%)
    South Africa (First Division) 35 (<0.1%)
    South Africa (Premier Division) 208 (0.6%)
    South Africa (Second Division - Kwazulu Natal) 1 (<0.1%)
    South Africa (Second Division - Mpumalanga) 1 (<0.1%)
    South Korea 1 (<0.1%)
    South Korea (K League 1) 93 (0.3%)
    South Korea (K League 2) 18 (<0.1%)
    South Korea (K3 League) 1 (<0.1%)
    South Korea (K4 League) 2 (<0.1%)
    South Sudan (Lower Divisions) 23 (<0.1%)
    Spain 19 (<0.1%)
    Spain (1ª Aut.pref. La Mancha G1) 2 (<0.1%)
    Spain (1ª Aut.pref. La Mancha G2) 1 (<0.1%)
    Spain (1ª Ffcv G4) 3 (<0.1%)
    Spain (1ª Reg. Pref. Mallorca) 4 (<0.1%)
    Spain (1ª Rffpa) 1 (<0.1%)
    Spain (Comunitat Valenciana 2) 6 (<0.1%)
    Spain (Div. Honor Andalucía G1) 2 (<0.1%)
    Spain (Div. Honor Andalucía G2) 6 (<0.1%)
    Spain (Div. Honor Vizcaya) 4 (<0.1%)
    Spain (LaLiga 2) 603 (1.7%)
    Spain (LaLiga) 546 (1.5%)
    Spain (Pref. Las Palmas) 14 (<0.1%)
    Spain (Pref. Madrid G2) 1 (<0.1%)
    Spain (Pref. Madrid Gr.1) 2 (<0.1%)
    Spain (Pref. Tenerife) 4 (<0.1%)
    Spain (Primera Andaluza Cádiz) 15 (<0.1%)
    Spain (Primera Catalana G1) 2 (<0.1%)
    Spain (Primera Extremeña G1) 1 (<0.1%)
    Spain (Primera Federación Grupo I) 488 (1.4%)
    Spain (Primera Federación Grupo Ii) 500 (1.4%)
    Spain (Reg. Ibiza-Formentera) 1 (<0.1%)
    Spain (Regional Division) 30 (<0.1%)
    Spain (Segunda Federación Grupo I) 226 (0.6%)
    Spain (Segunda Federación Grupo Ii) 233 (0.7%)
    Spain (Segunda Federación Grupo Iii) 253 (0.7%)
    Spain (Segunda Federación Grupo Iv) 280 (0.8%)
    Spain (Segunda Federación Grupo V) 257 (0.7%)
    Spain (Superlliga Catalana) 2 (<0.1%)
    Spain (Tercera Federación Grupo I) 61 (0.2%)
    Spain (Tercera Federación Grupo Ii) 27 (<0.1%)
    Spain (Tercera Federación Grupo Iii) 27 (<0.1%)
    Spain (Tercera Federación Grupo Iv) 61 (0.2%)
    Spain (Tercera Federación Grupo Ix) 74 (0.2%)
    Spain (Tercera Federación Grupo V) 107 (0.3%)
    Spain (Tercera Federación Grupo Vi) 64 (0.2%)
    Spain (Tercera Federación Grupo Vii) 88 (0.2%)
    Spain (Tercera Federación Grupo Viii) 48 (0.1%)
    Spain (Tercera Federación Grupo X) 54 (0.2%)
    Spain (Tercera Federación Grupo Xi) 44 (0.1%)
    Spain (Tercera Federación Grupo Xii) 66 (0.2%)
    Spain (Tercera Federación Grupo Xiii) 44 (0.1%)
    Spain (Tercera Federación Grupo Xiv) 27 (<0.1%)
    Spain (Tercera Federación Grupo Xv) 23 (<0.1%)
    Spain (Tercera Federación Grupo Xvi) 15 (<0.1%)
    Spain (Tercera Federación Grupo Xvii) 22 (<0.1%)
    Spain (Tercera Federación Grupo Xviii) 75 (0.2%)
    Spain (Terr. Pref. Murcia) 5 (<0.1%)
    Spain (U19 Division 1 Group 1) 1 (<0.1%)
    Spain (U19 Division 1 Group 4) 2 (<0.1%)
    Spain (U19 Division 1 Group 5) 1 (<0.1%)
    Spain (U19 Division 1 Group 6) 1 (<0.1%)
    Spain (U19 Division 1 Group 7) 1 (<0.1%)
    Spain (U19 Division 2 Group 15) 4 (<0.1%)
    Spain (U19 Division 2 Group 17) 1 (<0.1%)
    Sri Lanka (Dialog Champions League) 22 (<0.1%)
    St Kitts & Nevis (Sknfa Premier League) 34 (<0.1%)
    St Lucia (Slfa First Division) 5 (<0.1%)
    St Lucia (Third Division) 1 (<0.1%)
    St Vincent (First Division) 5 (<0.1%)
    St Vincent (Nla Svgff Club Championship) 19 (<0.1%)
    Sudan (Premier League) 56 (0.2%)
    Sudan (Sudanese Lower Division) 1 (<0.1%)
    Suriname (Topklasse) 34 (<0.1%)
    Sweden (Allsvenskan) 126 (0.4%)
    Sweden (Division 1 Norra) 16 (<0.1%)
    Sweden (Division 1 Södra) 8 (<0.1%)
    Sweden (Division 2 Norrland) 2 (<0.1%)
    Sweden (Division 2 Södra Götaland) 5 (<0.1%)
    Sweden (Division 2 Södra Svealand) 3 (<0.1%)
    Sweden (Division 3 Nordöstra Götaland) 1 (<0.1%)
    Sweden (Division 3 Södra Götaland) 1 (<0.1%)
    Sweden (Division 3 Sydöstra Götaland) 1 (<0.1%)
    Sweden (Division 3 Sydvästra Götaland) 1 (<0.1%)
    Sweden (Superettan) 43 (0.1%)
    Switzerland (1. Liga Classic Gruppe 1) 10 (<0.1%)
    Switzerland (1. Liga Classic Gruppe 2) 8 (<0.1%)
    Switzerland (1. Liga Classic Gruppe 3) 18 (<0.1%)
    Switzerland (2. Liga Interregional Gruppe 1) 2 (<0.1%)
    Switzerland (2. Liga Interregional Gruppe 2) 2 (<0.1%)
    Switzerland (2. Liga Interregional Gruppe 4) 1 (<0.1%)
    Switzerland (Brack.ch Challenge League) 60 (0.2%)
    Switzerland (Lower Division) 1 (<0.1%)
    Switzerland (Promotion League) 37 (0.1%)
    Switzerland (Raiffeisen Super League) 153 (0.4%)
    Syria 1 (<0.1%)
    Syria (Syrian Premier League) 55 (0.2%)
    Syria (Syrian Second Division Group 2) 1 (<0.1%)
    Syria (Syrian Second Division Group 4) 1 (<0.1%)
    Tahiti (Ligue 1) 31 (<0.1%)
    Tahiti (Ligue 2) 1 (<0.1%)
    Tajikistan (2nd Div. Sughd Region) 1 (<0.1%)
    Tajikistan (Kahramonhoi Todżikiston) 39 (0.1%)
    Tajikistan (Tajik First) 4 (<0.1%)
    Tanzania (Premier Division) 16 (<0.1%)
    Thailand (Thai League 2 M-150 Championship) 15 (<0.1%)
    Thailand (Thai League 3 - Bangkok) 1 (<0.1%)
    Thailand (Thai League 3 - East) 2 (<0.1%)
    Thailand (Thai League 3 - South) 3 (<0.1%)
    Thailand (Thai League 3 - West) 4 (<0.1%)
    Thailand (Toyota Thai League) 113 (0.3%)
    The Gambia (Gambian Premier Division) 7 (<0.1%)
    The Gambia (Gambian Second Division) 3 (<0.1%)
    Togo (Togolese First Division) 32 (<0.1%)
    Tonga 1 (<0.1%)
    Trinidad & Tobago (Pro League) 55 (0.2%)
    Trinidad & Tobago (Super League) 2 (<0.1%)
    Tunisia (Amateur 1 - Group A) 1 (<0.1%)
    Tunisia (Clp-1) 62 (0.2%)
    Tunisia (Clp-2) 2 (<0.1%)
    Türkiye 1 (<0.1%)
    Türkiye (2. Lig Beyaz Grup) 7 (<0.1%)
    Türkiye (2. Lig Kırmızı Grup) 10 (<0.1%)
    Türkiye (3. League Group 4) 1 (<0.1%)
    Türkiye (3. Lig Grup 2) 2 (<0.1%)
    Türkiye (Spor Toto Süper Lig) 320 (0.9%)
    Türkiye (Tff 1. Lig) 111 (0.3%)
    Turkmenistan (Ýokary Ligasy) 48 (0.1%)
    Turks & Caicos Is. (Premier League) 1 (<0.1%)
    U.a.e. (First Division League) 20 (<0.1%)
    U.a.e. (Pro League) 140 (0.4%)
    U.a.e. (Second Division League) 3 (<0.1%)
    U.s.a. (Eastern Conference) 33 (<0.1%)
    U.s.a. (Lower Leagues) 1 (<0.1%)
    U.s.a. (Mls) 412 (1.2%)
    U.s.a. (Nisa) 7 (<0.1%)
    U.s.a. (Pdl Southwest Division) 1 (<0.1%)
    U.s.a. (Usl1) 53 (0.1%)
    U.s.a. (Uslc Eastern Conference) 58 (0.2%)
    U.s.a. (Uslc Western Conference) 65 (0.2%)
    U.s.a. (West Region) 1 (<0.1%)
    U.s.a. (Western Conference) 17 (<0.1%)
    Uganda (Big League) 6 (<0.1%)
    Uganda (Premier League) 63 (0.2%)
    Ukraine (Favbet Liha) 72 (0.2%)
    Ukraine (Persha Liha) 1 (<0.1%)
    Uruguay (Liga Profesional De Primera División) 61 (0.2%)
    Uruguay (Segunda División) 2 (<0.1%)
    Uzbekistan (Birinchi Ligasi) 3 (<0.1%)
    Uzbekistan (Pro League) 7 (<0.1%)
    Uzbekistan (Superleague) 82 (0.2%)
    Vanuatu (Luganville Premier) 1 (<0.1%)
    Vanuatu (Premier Division) 35 (<0.1%)
    Venezuela 1 (<0.1%)
    Venezuela (Primera División) 38 (0.1%)
    Venezuela (Segunda División) 7 (<0.1%)
    Vietnam 1 (<0.1%)
    Vietnam (Eximbank First Division) 4 (<0.1%)
    Vietnam (Eximbank V.league) 70 (0.2%)
    Vietnam (Nhì Quốc Gia Bảng B) 2 (<0.1%)
    Wales (Cymru Premier) 23 (<0.1%)
    Wales (Jd Cymru North) 1 (<0.1%)
    Yemen (Lower Division) 4 (<0.1%)
    Yemen (Second Division A) 1 (<0.1%)
    Yemen (Yemeni League) 35 (<0.1%)
    Zambia (Division 1) 7 (<0.1%)
    Zambia (Super Division) 138 (0.4%)
    Zambia (Zambian Lower Division) 2 (<0.1%)
    Zimbabwe (Lower Division) 3 (<0.1%)
    Zimbabwe (Premier Division) 57 (0.2%)
1 n (%)
League/Nation Players Count
England (Efl Championship) 800
England (Premier League) 717
Italy (Serie A) 672
England (Efl League One) 617
Portugal (Liga Portugal Betclic) 615
Spain (LaLiga 2) 603
Germany (2. Bundesliga) 587
Italy (Serie B) 567
Portugal (Liga Portugal 2 Sabseg) 548
Spain (LaLiga) 546
England (Efl League Two) 537
Germany (Bundesliga) 516
Germany (3. Liga) 509
Spain (Primera Federación Grupo Ii) 500
Spain (Primera Federación Grupo I) 488
France (Ligue 1) 479
Italy (Serie C Girone C) 475
France (Ligue 2) 462
Italy (Serie C Girone A) 449
Italy (Serie C Girone B) 449
France (National) 420
U.s.a. (Mls) 412
Japan (J1 League) 402
Germany (Regionalliga Südwest) 370
Türkiye (Spor Toto Süper Lig) 320
Scotland (Premiership) 305
Chile (Campeonato Afp Planvital) 286
Germany (Regionalliga West) 284
Spain (Segunda Federación Grupo Iv) 280
Germany (Regionalliga Nordost) 277
Belgium (Jupiler Pro League) 260
Spain (Segunda Federación Grupo V) 257
Spain (Segunda Federación Grupo Iii) 253
Germany (Regionalliga Bayern) 249
Netherlands (Eredivisie) 243
Brazil (Série A) 242
Saudi Arabia (Saudi Pro League) 238
Spain (Segunda Federación Grupo Ii) 233
Spain (Segunda Federación Grupo I) 226
England (National League) 214
Japan (J2 League) 208
South Africa (Premier Division) 208
Portugal (Pt 3rd Division N) 207
Germany (Regionalliga Nord) 197
Greece (Super League 1) 185
Cyprus (Cyta Championship) 178
Mexico (Liga Mx) 176
Portugal (Pt 3rd Division S) 174
France (National 2 Groupe A) 170
Romania (Liga I) 168
Russia (Rpl) 167
France (National 2 Groupe B) 160
Scotland (Championship) 158
France (National 2 Groupe C) 155
Switzerland (Raiffeisen Super League) 153
France (National 2 Groupe D) 149
Ireland (Premier Division) 146
Poland (Ekstraklasa) 144
Portugal (Campeonato De Portugal Prio B) 144
China (Chinese Super League) 142
U.a.e. (Pro League) 140
Zambia (Super Division) 138
Indonesia (Liga 1) 134
Argentina (Liga Profesional De Fútbol) 133
Austria (Bundesliga) 133
Sweden (Allsvenskan) 126
Croatia (Supersport Hnl) 122
Malaysia (Astro Liga Super Malaysia) 121
Israel (Ligat Ha`Al) 119
Bulgaria (Efbet League) 118
Egypt (Premier League) 117
Thailand (Toyota Thai League) 113
Qatar (Qnb Stars League) 111
Türkiye (Tff 1. Lig) 111
Azerbaijan (Misli Premyer Liqası) 108
Spain (Tercera Federación Grupo V) 107
Iraq (Dawri Al-Nokhba) 106
Luxembourg (Bgl Ligue) 106
Denmark (3f Superliga) 104
Libya (First Division) 103
Bolivia (División Profesional) 102
Chile (Campeonato Primera B) 99
Czechia (Fortuna Liga) 99
France (National 3 - Group G) 99
Kazakhstan (Priemjer Ligasy) 98
Belgium (Challenger Pro League) 97
Netherlands (Eerste Divisie) 97
South Korea (K League 1) 93
France (National 3 - Group I) 92
India (Indian Super League) 92
Portugal (Campeonato De Portugal Prio D) 92
Hungary (Otp Bank Liga) 90
Kuwait (Kuwaiti Premier League) 90
Norway (Eliteserien) 90
Serbia (Superliga) 89
Spain (Tercera Federación Grupo Vii) 88
France (National 3 - Group A) 86
Ethiopia (Premier Division) 85
France (National 3 - Group K) 84
Uzbekistan (Superleague) 82
Mozambique (Premier Division) 80
Bahrain (Premier League) 79
Botswana (Premier Division) 79
Oman (Omantel League) 79
Italy (Serie D Girone D) 77
Rwanda (Premier Division) 75
Spain (Tercera Federación Grupo Xviii) 75
Angola (Girabola) 74
Spain (Tercera Federación Grupo Ix) 74
France (National 3 - Group B) 73
Australia (Isuzu Ute A-League) 72
Ukraine (Favbet Liha) 72
Saudi Arabia (First Division League) 71
Costa Rica (Primera División) 70
Singapore (Great Eastern Yeo’s S League) 70
Vietnam (Eximbank V.league) 70
Italy (Serie D Girone E) 69
Ecuador (Ligapro Serie A) 68
Iran (Iran Pro League) 68
Italy (Serie D Girone B) 68
Colombia (Liga Betplay) 67
Guatemala (Liga Nacional) 67
Honduras (Liga Salva-Vida) 67
Peru (Liga 1) 67
Finland (Veikkausliiga) 66
Lithuania (A Lyga) 66
Spain (Tercera Federación Grupo Xii) 66
El Salvador (Primerà Division) 65
N.ireland (Nifl Premiership) 65
U.s.a. (Uslc Western Conference) 65
Iceland (Besta-Deild Karla) 64
Spain (Tercera Federación Grupo Vi) 64
Italy (Serie D Girone H) 63
Scotland (League One) 63
Uganda (Premier League) 63
France (National 3 - Group F) 62
France (National 3 - Group J) 62
Italy (Serie D Girone A) 62
Jordan (Al-Manaseer Jordanian Pro League 1st Division) 62
Portugal (Campeonato De Portugal Prio A) 62
Tunisia (Clp-1) 62
North Korea (Dpr Korea League) 61
Spain (Tercera Federación Grupo I) 61
Spain (Tercera Federación Grupo Iv) 61
Uruguay (Liga Profesional De Primera División) 61
Cambodia (C-League) 60
Switzerland (Brack.ch Challenge League) 60
England (National League South) 59
France (National 3 - Group H) 58
Lebanon (Lebanese Premier League) 58
U.s.a. (Uslc Eastern Conference) 58
Jamaica (Red Stripe Premier League) 57
Zimbabwe (Premier Division) 57
Armenia (Premier League) 56
Malawi (Premier Division) 56
Sudan (Premier League) 56
France (National 3 - Group D) 55
Morocco (Botola Pro 1) 55
Syria (Syrian Premier League) 55
Trinidad & Tobago (Pro League) 55
Canada (Canadian Premier League) 54
Spain (Tercera Federación Grupo X) 54
Algeria (Ligue Professionnelle 1) 53
Andorra (Lliga Multisegur Assegurances) 53
U.s.a. (Usl1) 53
Bangladesh (Grameenphone Bangladesh Premier League) 52
Eswatini (Premier League) 52
Italy (Serie D Girone C) 52
Malta (Premier League) 52
Portugal (Campeonato De Portugal Prio C) 51
Gibraltar (Football League) 50
France (National 3 - Group E) 49
Lesotho (Premier Division) 49
Belarus (Vyšejšaja Liha) 48
Latvia (Optibet Virslīga) 48
Liberia (Premier League) 48
Spain (Tercera Federación Grupo Viii) 48
Turkmenistan (Ýokary Ligasy) 48
Germany (Baden-Württemberg) 47
Italy (Serie D Girone F) 47
Slovenia (Prvaliga) 47
Brazil (Série B) 46
Georgia (Erovnuli Liga) 46
Italy (Serie D Girone I) 46
Laos (Lao Premier League) 46
Nigeria (Nigeria Professional Football League) 46
Fiji (Premier League) 45
Germany (German Lower Division) 45
Austria (2.Liga) 44
Dr Congo (Linafoot A) 44
Hong Kong (China Pr) (Hong Kong First Division) 44
Italy (Serie D Girone G) 44
Kyrgyzstan (Shoro Top League) 44
Spain (Tercera Federación Grupo Xi) 44
Spain (Tercera Federación Grupo Xiii) 44
Moldova (Super Liga) 43
Slovakia (Fortuna Liga) 43
Sweden (Superettan) 43
Congo (Championnat National) 42
Dominican Republic (Liga Dominicana De Fútbol) 42
Estonia (Meistriliiga) 42
Mongolia (Niislel League) 42
Panama (Liga Panameña) 42
Poland (I Liga) 42
Bosnia & Herzegovina (M:Tel Premier League) 41
France (National 3 - Group C) 41
Germany (Oberliga Westfalen) 41
Myanmar (Myanmar National League) 41
Paraguay (Primera División) 41
Sierra Leone (Premier Division) 40
England (National League North) 39
Faroe Islands (Betri Deildin Menn) 39
Germany (Oberliga Niederrhein) 39
Guinea (Premier Division) 39
Tajikistan (Kahramonhoi Todżikiston) 39
Antigua & Barbuda (Digicel/Red Stripe Premier Division) 38
Martinique (Régionale 1) 38
Nicaragua (Primera Division) 38
Venezuela (Primera División) 38
Bahamas (Bfa Senior League) 37
Somalia (Somali Premier Division) 37
Switzerland (Promotion League) 37
Barbados (Digicel Premier League) 36
Denmark (Nordicbet Liga) 36
New Caledonia (Super Ligue) 36
Solomon Islands (S-League) 36
Chinese Taipei (China Pr) (Ctp Premier League) 35
South Africa (First Division) 35
Vanuatu (Premier Division) 35
Yemen (Yemeni League) 35
Dominica (Premiere League) 34
Grenada (Premier Division) 34
North Macedonia (1. Mfl) 34
St Kitts & Nevis (Sknfa Premier League) 34
Suriname (Topklasse) 34
Germany (Oberliga Nordost) 33
Germany (Rp/Saar) 33
Ireland (First Division) 33
U.s.a. (Eastern Conference) 33
Albania (Kategoria Superiore) 32
Mali (Malian Ligue 1) 32
Togo (Togolese First Division) 32
Belgium (Nationale 1) 31
Palestine (West Bank Premier League) 31
Romania (Liga Ii) 31
Tahiti (Ligue 1) 31
Spain (Regional Division) 30
Germany (Oberliga Mittelrhein) 29
Niger (Premier Division) 29
Norway (Obos-Ligaen) 29
Senegal (Senegalese Ligue 1) 29
Aruba (Division Di Honor) 28
Bhutan (Premier League) 28
Burundi (Premier Division) 28
Central African Rep. (Premier Division) 28
China (China League One) 28
Cyprus (B’ Katigoria) 28
Mauritania (Mauritanian D1) 28
Djibouti (Premier Division) 27
East Timor (Premier Division) 27
Germany (North East-South) 27
Germany (Oberliga Niedersachsen) 27
Japan (J3 League) 27
Kosovo (Superleague) 27
Nepal (A-Division) 27
Spain (Tercera Federación Grupo Ii) 27
Spain (Tercera Federación Grupo Iii) 27
Spain (Tercera Federación Grupo Xiv) 27
Namibia (Premier Division) 26
Russia (Fnl) 26
Germany (Bayernliga Süd) 25
Belize (Premier League) 24
French Guiana (Régional 1) 24
Germany (Hessia) 24
Ghana (Premier League) 24
Maldives (Dhivehi League) 24
Guyana (Gff Elite League) 23
Portugal 23
South Sudan (Lower Divisions) 23
Spain (Tercera Federación Grupo Xv) 23
Wales (Cymru Premier) 23
France 22
Guadeloupe (Régionale 1) 22
Mauritius (Premier Division) 22
Papua New Guinea (National Soccer League) 22
Spain (Tercera Federación Grupo Xvii) 22
Sri Lanka (Dialog Champions League) 22
Cameroon (Elite One B) 21
Comoros (Premier League Ngazidja) 21
Dr Congo (Linafoot B) 21
England (Evo-Stik League Premier Division) 21
France (R1 - Méditerranée) 21
Bonaire (Kampionato) 20
Cameroon (Elite One A) 20
Cuba (Campeonato Nacional) 20
Gabon (Championnat D1) 20
India (Hero I-League) 20
U.a.e. (First Division League) 20
Chad (Premier Division) 19
Czechia (Fortuna Národní Liga) 19
France (R1 - Bretagne - A) 19
Israel (Liga Leumit) 19
Italy 19
Luxembourg (Éierepromotioun) 19
Spain 19
St Vincent (Nla Svgff Club Championship) 19
Guinea-Bissau (Gb Division 1) 18
Hungary (Merkantil Bank Liga) 18
South Korea (K League 2) 18
Switzerland (1. Liga Classic Gruppe 3) 18
São Tomé & Príncipe (São Tomé Division 1) 18
France (R1 - Paris Idf - A) 17
Greece (Super League 2 Notios Omilos) 17
Iceland (1. Deild Karla) 17
Saudi Arabia (Second Division Grp A) 17
U.s.a. (Western Conference) 17
Australia (Npl Victoria) 16
Bermuda (Premier Division) 16
Madagascar (Opl - Conference Sud) 16
Sweden (Division 1 Norra) 16
Tanzania (Premier Division) 16
Benin (Beninese Ligue 1 - B) 15
Bolivia (Copa Simón Bolívar) 15
Curaçao (Promé Divishon) 15
France (R1 - Hauts De France - A) 15
Germany (Bremen-Liga) 15
Madagascar (Opl - Conference Nord) 15
Spain (Primera Andaluza Cádiz) 15
Spain (Tercera Federación Grupo Xvi) 15
Thailand (Thai League 2 M-150 Championship) 15
France (R1 - Paris Idf - B) 14
Guatemala (Primera División De Ascenso) 14
Macau (China Pr) (1ª Divisão) 14
Montenegro (1.Cfl) 14
Portugal (Lisbon Pro-National) 14
Qatar (Qatargas League) 14
Spain (Pref. Las Palmas) 14
Brazil (Lower Division) 13
Brazil (Série C) 13
Croatia (Supersport Prva Nl) 13
England 13
Eq. Guinea (1. Insular) 13
Morocco (Botola 2) 13
Philippines (Football League) 13
Benin (Beninese Ligue 1 - C) 12
Ecuador (Ligapro Serie B) 12
Italy (Eccellenza Puglia B) 12
Portugal (Algarve First Division) 12
Barbados (Division One) 11
Brunei (Super League) 11
Bulgaria (Vtora Liga) 11
Egypt (Second Division - Group 2) 11
England (Southern Premier South) 11
Finland (Ykkönen) 11
France (R1 - Auvergne Ra - C) 11
Haiti (Digicel Championnat Haitienne) 11
Italy (Eccellenza Lombardia B) 11
Poland (Ii Liga) 11
Portugal (Lower Regional Divisions) 11
Réunion (R1) 11
Argentina (Primera Nacional) 10
Colombia (Torneo Betplay) 10
Costa Rica (Liga De Ascenso) 10
Denmark (2. Division) 10
Eq. Guinea (1. Continental) 10
Italy (Eccellenza Emilia-Rom. A) 10
Malaysia (M3 League) 10
Poland (Iv Liga) 10
Serbia (Prva Liga) 10
Slovenia (2.Snl) 10
Switzerland (1. Liga Classic Gruppe 1) 10
Türkiye (2. Lig Kırmızı Grup) 10
Australia (Vpl 1) 9
Belize (Lower Leagues) 9
Benin (Beninese Ligue 1 - A) 9
Cape Verde (São Vicente Premier) 9
Indonesia (League Two Group 4) 9
Malta (Challenge League) 9
Peru (Liga 2) 9
Brazil (Série D) 8
Chile (Segunda División) 8
England (Southern Premier Central) 8
France (Ligues Régionales) 8
Germany (Bayernliga Nord) 8
Germany (Oberliga Hamburg) 8
Greece (Super League 2 Voreios Omilos) 8
Mexico (Expansion League) 8
Poland (Third Division Group 4) 8
Portugal (Vila Real Honor Division) 8
Puerto Rico (Liga Pr) 8
Scotland 8
Sweden (Division 1 Södra) 8
Switzerland (1. Liga Classic Gruppe 2) 8
Argentina (Torneo Argentino A) 7
Austria (Regionalliga Ost) 7
Austria (Regionalliga West) 7
Egypt (Second Division - Group 1) 7
France (R1 - Pays De La Loire - A) 7
Hong Kong (China Pr) (First Division) 7
Iraq (First Division A) 7
Italy (Eccellenza Lombardia A) 7
Italy (Eccellenza Sicilia A) 7
Japan (Football League) 7
Lithuania (I Lyga) 7
Nepal (Nepali Super League) 7
Norway (Postnord-Ligaen Avd 1) 7
Puerto Rico (Prsl 2nd Div.) 7
Saudi Arabia (Second Division Grp B) 7
Scotland (Lowland League) 7
Senegal (Senegalese Ligue 2) 7
The Gambia (Gambian Premier Division) 7
Türkiye (2. Lig Beyaz Grup) 7
U.s.a. (Nisa) 7
Uzbekistan (Pro League) 7
Venezuela (Segunda División) 7
Zambia (Division 1) 7
Bahrain (2nd Division) 6
Burkina Faso (Burkinabé D1) 6
Comoros (Premier League Ndzuani) 6
England (Northern Premier D1w) 6
England (Ryman League Premier Division) 6
Ethiopia (Higher League) 6
France (R1 - Occitanie - C) 6
Indonesia (League Two Group 1) 6
Iraq (First Division B) 6
Italy (Eccellenza Campania A) 6
Italy (Eccellenza Marche) 6
Italy (Eccellenza Sardegna) 6
Kazakhstan (Byrynszy Liga) 6
Kenya (Kenyan Premier Division) 6
Montenegro (2. Cfl) 6
Nicaragua (Segunda División) 6
Spain (Comunitat Valenciana 2) 6
Spain (Div. Honor Andalucía G2) 6
Uganda (Big League) 6
Antigua & Barbuda (Usl Pro) 5
Australia (Npl Queensland) 5
Cambodia (Lower Division) 5
Cameroon (Elite Two) 5
France (R1 - Occitanie - A) 5
Guyana (Regional Leagues) 5
Italy (Eccellenza Basilicata) 5
Italy (Eccellenza Lazio B) 5
Italy (Eccellenza Piemonte B) 5
Italy (Eccellenza Puglia A) 5
Ivory Coast (Ligue 1) 5
Kuwait (Kuwaiti Division One) 5
Mauritius (Lower Divisions) 5
Morocco (Championnat National Amateur) 5
Mozambique (Mozambican Lower Division) 5
Paraguay (División Intermedia) 5
Scotland (Highland League) 5
Spain (Terr. Pref. Murcia) 5
St Lucia (Slfa First Division) 5
St Vincent (First Division) 5
Sweden (Division 2 Södra Götaland) 5
Austria (1. Salzburger Landesliga) 4
Austria (Steiermark) 4
Bulgaria (Sofia V) 4
Comoros (Premier League Mwali) 4
Croatia (Treća Nl Zapad) 4
East Timor (Second Division) 4
England (Isthmian D1 Sc) 4
Estonia (Esiliiga) 4
Germany 4
Guadeloupe (R2 Poule A) 4
Guadeloupe (Régionale 2 Poule B) 4
Indonesia (League Two Group 2) 4
Israel (Liga Alef B) 4
Italy (Eccellenza Lazio A) 4
Madagascar (Pro League) 4
Niger (Lower Divisions) 4
Palestine (West Bank First League) 4
Philippines (Lower Division) 4
Qatar (Lower Division) 4
Scotland (League Two) 4
Singapore (Nfl Division 1) 4
Slovenia (3.Snl Zahod) 4
Spain (1ª Reg. Pref. Mallorca) 4
Spain (Div. Honor Vizcaya) 4
Spain (Pref. Tenerife) 4
Spain (U19 Division 2 Group 15) 4
Tajikistan (Tajik First) 4
Thailand (Thai League 3 - West) 4
Vietnam (Eximbank First Division) 4
Yemen (Lower Division) 4
Angola (Lower Division) 3
Australia 3
Australia (Npl South Australia) 3
Australia (Npl Wa) 3
Azerbaijan (Birinci Liqası ) 3
Bangladesh (Championship League) 3
Barbados 3
Botswana (Lower Divisions) 3
Cape Verde (Santiago (S) Premier) 3
Chinese Taipei (China Pr) (Ctp Division 2) 3
Croatia (Supersport Druga Nl) 3
Czechia (Čfl A) 3
England (Sl - Division One Central) 3
Estonia (Lower Leagues) 3
Finland (Kakkonen Lohko A) 3
Germany (Oberliga Schleswig-Holstein) 3
Germany (U19 Div. 2 North) 3
Iceland (2. Deild Karla) 3
India (Hero 2nd Division League) 3
India (Indian Lower Division) 3
Italy (Eccellenza Calabria) 3
Italy (Eccellenza Liguria) 3
Italy (Eccellenza Lombardia C) 3
Italy (Eccellenza Toscana A) 3
Italy (Eccellenza Toscana B) 3
Italy (Eccellenza Umbria) 3
Italy (Eccellenza Veneto A) 3
Italy (Eccellenza Veneto B) 3
Jamaica (Jff Championship) 3
Liberia (Second Division) 3
Libya (Libyan Second Division) 3
Malaysia 3
Netherlands (Tweede Divisie) 3
Norway (Postnord-Ligaen Avd 2) 3
Oman 3
Oman (Lower Division) 3
Slovakia (2. Liga) 3
Spain (1ª Ffcv G4) 3
Sweden (Division 2 Södra Svealand) 3
Thailand (Thai League 3 - South) 3
The Gambia (Gambian Second Division) 3
U.a.e. (Second Division League) 3
Uzbekistan (Birinchi Ligasi) 3
Zimbabwe (Lower Division) 3
Albania (Kategoria E Parë) 2
Algeria (League 2 - West) 2
Argentina 2
Argentina (Primera C) 2
Argentina (Torneo Argentino B) 2
Armenia (Aradżin Chumb) 2
Armenia (Lower League) 2
Australia (Npl Nsw) 2
Australia (Wa State League Div 1) 2
Austria (Eliteleague Vorarlberg) 2
Austria (Oberösterreich-Liga) 2
Austria (Regionalliga Mitte) 2
Azerbaijan (Həvəskarlar Liqası) 2
Belarus (Pieršaja Liha) 2
Belgium 2
Belgium (Third Division Acff D) 2
Benin (Beninese Ligue 1 - D) 2
Cambodia (Second League) 2
Canada (League1 Ontario) 2
Curaçao (2nd Division) 2
Czechia (Msfl) 2
Czechia (Čfl B) 2
Denmark (3. Division) 2
Ecuador (S.c. De Chimborazo) 2
Egypt (Second Division - Group 3) 2
England (Midland Premier) 2
England (Northern D2) 2
England (Northern Premier D1e) 2
England (Northern Premier D1m) 2
England (Spartan South Midlands Football League) 2
Eritrea (Premier Division) 2
Ethiopia (Higher League Group B) 2
Ethiopia (Higher League Group C) 2
Fiji (Lower Division) 2
Finland (Kakkonen Lohko B) 2
France (R1 - Auvergne Ra - B) 2
Georgia (Liga 3) 2
Ghana (Division One League Zone 3) 2
Ghana (Lower Division) 2
Greece (G Ethniki 3os Omilos) 2
Greece (G Ethniki 4os Omilos) 2
Guinea (Lower Divisions) 2
Haiti (D2 Sud) 2
Honduras (Liga Nacional De Ascenso) 2
Iceland (Fourth Division) 2
India (Airtel I-League 3rd Division) 2
Italy (Eccellenza Abruzzo) 2
Italy (Eccellenza Emilia-Rom. B) 2
Italy (Eccellenza Friuli-V.g.) 2
Japan (Tokyo League) 2
Jordan (Al-Manaseer Jordanian Pro League 2nd Division) 2
Laos (Laotian League 2) 2
Laos (League 2 Group B) 2
Laos (Lower Division) 2
Malaysia (M4 League Borneo) 2
Moldova (Moldovan Divizia A Group) 2
Nepal (B-Division) 2
New Caledonia 2
New Zealand (Northern Premier League) 2
Norway (Fourth Div. Rogaland 2) 2
Norway (Norsk Tipping-Ligaen Avd 1) 2
Norway (Norsk Tipping-Ligaen Avd 2) 2
Norway (Norsk Tipping-Ligaen Avd 4) 2
Poland (Third Division Group 3) 2
Portugal (Braga Pro-National) 2
Russia (Second Division A Gold) 2
Russia (Second Division A Silver) 2
Saudi Arabia (Third Division Grp C) 2
Scotland (Wos 1st Div) 2
Scotland (Wos Premier) 2
Serbia (Srpska Liga Vojvodina) 2
South Korea (K4 League) 2
Spain (1ª Aut.pref. La Mancha G1) 2
Spain (Div. Honor Andalucía G1) 2
Spain (Pref. Madrid Gr.1) 2
Spain (Primera Catalana G1) 2
Spain (Superlliga Catalana) 2
Spain (U19 Division 1 Group 4) 2
Sweden (Division 2 Norrland) 2
Switzerland (2. Liga Interregional Gruppe 1) 2
Switzerland (2. Liga Interregional Gruppe 2) 2
Thailand (Thai League 3 - East) 2
Trinidad & Tobago (Super League) 2
Tunisia (Clp-2) 2
Türkiye (3. Lig Grup 2) 2
Uruguay (Segunda División) 2
Vietnam (Nhì Quốc Gia Bảng B) 2
Zambia (Zambian Lower Division) 2
Algeria (League 2 - East) 1
Andorra (Lliga Unida) 1
Angola (Segundona) 1
Argentina (Primera B Metropolitana) 1
Armenia 1
Australia (Fqpl3 - South Coast) 1
Australia (Northern League One) 1
Australia (Npl Act) 1
Australia (Sa - State League 1) 1
Australia (Vic State League 5 North) 1
Austria (2. Class East/Central) 1
Austria (2. Class South (S)) 1
Austria (Ii. League North (B)) 1
Austria (Ii. League South (B)) 1
Austria (Tiroler Liga) 1
Austria (Under League East (K)) 1
Austria (Under League West (K)) 1
Austria (Upper-League North (St)) 1
Austria (Vorarlbergliga) 1
Bolivia (Bolivian Regional) 1
Bosnia & Herzegovina (Prva Liga Republike Srpske) 1
Brazil 1
Bulgaria (Regional Krdzhali-Smolyan) 1
Canada 1
Canada (Csl) 1
Canada (Première Ligue De Soccer Du Québec) 1
Cape Verde (Boa Vista Premier) 1
Cape Verde (Fogo Premier) 1
Cape Verde (Sal Premier) 1
Cape Verde (Santo Antão (S) Premier) 1
Cape Verde (São Nicolau Premier) 1
Chile (Tercera División) 1
China (Amateur League) 1
China (Changchun) 1
China (Second Division South) 1
Colombia (Primera C) 1
Costa Rica (Lower Division) 1
Crimea 1
Crimea (Crimean Premier League) 1
Croatia 1
Croatia (Treća Nl Sjever) 1
Croatia (Znl - Pazin) 1
Czechia (Lower Division) 1
Dominica (First Division) 1
Dr Congo 1
Ecuador (S.c. De Esmeraldas) 1
Ecuador (S.c. De Guayas) 1
Ecuador (S.c. De Loja) 1
Egypt (Third Division - Group 5) 1
El Salvador 1
El Salvador (Segunda División) 1
England (Hellenic D1) 1
England (Sussex County Football League) 1
Eq. Guinea (Second Division) 1
Estonia 1
Estonia (Esiliiga B) 1
Eswatini (Lower Divisions) 1
Ethiopia (Lower Divisions) 1
Faroe Islands (1. Deild) 1
Finland 1
France (R1 - Normandie - B) 1
Ghana (Division One League Zone 2) 1
Greece (A’ Eps Anatolikís Attikís) 1
Guadeloupe (Ligue Régionale 3) 1
Honduras 1
Hong Kong (China Pr) (Lower Division) 1
Hungary (Division Iii - Northeast) 1
Hungary (Division Iii - Northwest) 1
Hungary (Division Iii - Southwest) 1
Iceland (3. Deild Karla) 1
India 1
Indonesia (League Two Group 3) 1
Indonesia (Liga 3) 1
Iran (Azadegan League) 1
Iraq (Lower Division) 1
Ireland 1
Israel (B League North A) 1
Israel (Liga Alef North) 1
Italy (Eccellenza Campania B) 1
Italy (Eccellenza Molise) 1
Italy (Eccellenza Piemonte A) 1
Italy (Eccellenza Trentino-A.a.) 1
Italy (Promoz. Piemonte-Vda B) 1
Japan (Kanto Soccer League) 1
Kazakhstan (Almaty A League) 1
Kazakhstan (South Kazakhstan Champ.) 1
Kosovo (First League B) 1
Latvia (1. Līga) 1
Lebanon (Lebanese Second Division) 1
Lesotho (Lower Divisions) 1
Liberia (Liberian Lower Division) 1
Libya (Second Divisin Group 3) 1
Libya (Second Division Group 5) 1
Libya (Second Division Group 6) 1
Maldives (Second Division) 1
Mali (Bamako League) 1
Mali (Koulikoro Championship) 1
Martinique (Régionale 2 Groupe A) 1
Mauritania (Mauritanian Lower Leagues) 1
Mauritius 1
Mexico 1
Mexico (Liga Premier Serie A Grupo 2) 1
Moldova (Moldovan Lower Division) 1
Montenegro 1
Morocco (Lower Leagues) 1
Myanmar (Myanmar National League 2) 1
N.ireland (Nifl Premier Intermediate League) 1
Namibia 1
Namibia (Lower Divisions) 1
Netherlands 1
New Caledonia (Promotion D’honneur Lifou) 1
New Caledonia (Promotion D’honneur Maré) 1
New Caledonia (Promotion D’honneur Nord) 1
New Zealand (Central Region Premier League) 1
Nigeria 1
Nigeria (Nigeria Nationwide League Division One) 1
Nigeria (Second Division A2) 1
Nigeria (Second Division B1) 1
Norway (Fourth Div. Rogaland 1) 1
Norway (Fourth Division Agder) 1
Norway (Fourth Division Østfold) 1
Norway (Norsk Tipping-Ligaen Avd 6) 1
Palestine (Gaza Strip League) 1
Panama (Lower Leagues) 1
Paraguay (Primera División B Nacional) 1
Paraguay (Primera División B: Metropolitana) 1
Portugal (Azores League) 1
Portugal (Madeira Honor Division) 1
Portugal (Porto Elite Serie 1) 1
Puerto Rico (Lower Division) 1
Romania 1
Romania (Liga Iii - Seria I) 1
Romania (Liga Iii - Seria Ii) 1
Romania (Liga Iii - Seria Ix) 1
Romania (Liga Iii - Seria X) 1
Romania (Liga Iv - Harghita) 1
Russia 1
Russia (Second Division B Group 4) 1
Rwanda (Lower Divisions) 1
Réunion (D2r) 1
Scotland (Eos 2nd Div) 1
Senegal (Senegalese National 1 - A) 1
Serbia 1
Serbia (Srpska Liga Beograd) 1
Slovenia 1
South Africa (Second Division - Kwazulu Natal) 1
South Africa (Second Division - Mpumalanga) 1
South Korea 1
South Korea (K3 League) 1
Spain (1ª Aut.pref. La Mancha G2) 1
Spain (1ª Rffpa) 1
Spain (Pref. Madrid G2) 1
Spain (Primera Extremeña G1) 1
Spain (Reg. Ibiza-Formentera) 1
Spain (U19 Division 1 Group 1) 1
Spain (U19 Division 1 Group 5) 1
Spain (U19 Division 1 Group 6) 1
Spain (U19 Division 1 Group 7) 1
Spain (U19 Division 2 Group 17) 1
St Lucia (Third Division) 1
Sudan (Sudanese Lower Division) 1
Sweden (Division 3 Nordöstra Götaland) 1
Sweden (Division 3 Sydvästra Götaland) 1
Sweden (Division 3 Sydöstra Götaland) 1
Sweden (Division 3 Södra Götaland) 1
Switzerland (2. Liga Interregional Gruppe 4) 1
Switzerland (Lower Division) 1
Syria 1
Syria (Syrian Second Division Group 2) 1
Syria (Syrian Second Division Group 4) 1
São Tomé & Príncipe (Príncipe Division 1) 1
Tahiti (Ligue 2) 1
Tajikistan (2nd Div. Sughd Region) 1
Thailand (Thai League 3 - Bangkok) 1
Tonga 1
Tunisia (Amateur 1 - Group A) 1
Turks & Caicos Is. (Premier League) 1
Türkiye 1
Türkiye (3. League Group 4) 1
U.s.a. (Lower Leagues) 1
U.s.a. (Pdl Southwest Division) 1
U.s.a. (West Region) 1
Ukraine (Persha Liha) 1
Vanuatu (Luganville Premier) 1
Venezuela 1
Vietnam 1
Wales (Jd Cymru North) 1
Yemen (Second Division A) 1

5. Normality assessment

The Objective of this session is to determine if continuous variables are approximately normally distributed, which will influence our choice of statistical tests.

5.1 References

  • Curran, P. J., West, S. G., & Finch, J. F. (1996). The robustness of test statistics to nonnormality and specification error in confirmatory factor analysis.: For skewness and kurtosis as indicators of normality, often referenced for thresholds (e.g., skewness > +/-2 or kurtosis > +/-7 suggests non-normality).

  • Field, A., Miles, J., & Field, Z. (2013). Discovering statistics using IBM SPSS statistics. Sage publications.: For Z-scores and the 99% rule, which states that if 99% of Z-scores lie within +/- 3.29, the data can be treated as approximately normal despite non-ideal skewness or kurtosis.

5.2 Inspect Visuals

A QQ plot helps assess the normality of a variable. If the data points follow the red line (qqline), it suggests that the distribution is approximately normal. Deviations from this line indicate skewness or kurtosis. For each variable, qqnorm plots the variable’s quantiles against theoretical quantiles of a normal distribution. qqline adds a reference line, making it easier to visually assess the normality of the variable.

5.3 Calculate standardised skew and Kurtosis

Values close to zero indicate normality, and values between -2 and +2 suggest approximate normality.

## 
##  Salary : Skewness = 59.18103 , Kurtosis = 5059.106 
## 
##  Age : Skewness = 0.213087 , Kurtosis = 2.355183 
## 
##  Reputation : Skewness = 0.04017905 , Kurtosis = 3.378675 
## 
##  Caps : Skewness = 4.175216 , Kurtosis = 26.11027 
## 
##  Apps : Skewness = 0.8809668 , Kurtosis = 3.236247
  • Salary: the skewness of 59.18 indicates a highly positively skewed distribution, with a long tail extending to the right. The extreme kurtosis of 5059.11 suggests an extremely peaked distribution with a high concentration of values around the mean. This severe deviation from normality means that non-parametric methods should be prioritized for analysis, as parametric assumptions would be violated due to the heavy skew and extreme kurtosis.

  • Age: the skewness of 0.21 and kurtosis of 2.36 indicate that Age is relatively close to a normal distribution. The kurtosis is slightly above the threshold of 2, but it is still within an acceptable range for parametric analysis. Therefore, parametric tests could be suitable, as the variable shows only slight deviations from normality.

  • Reputation: With a skewness of 0.04 and kurtosis of 3.38, Reputation displays nearly symmetric behavior and is only slightly leptokurtic (above the normal kurtosis value of 3). This suggests that the distribution is reasonably normal, making it appropriate for parametric methods in analysis.

  • Caps the skewness of 4.18 and kurtosis of 26.11 reveal a strong positive skew, with a highly peaked distribution. This variable deviates significantly from normality, much like Salary, and would therefore require the use of non-parametric tests for any analysis due to the extreme skewness and high kurtosis.

  • Apps : the skewness of 0.88 indicates a mild positive skew, while the kurtosis of 3.24 suggests a slightly peaked distribution. Given that the distribution is relatively close to normal, parametric methods would be appropriate for this variable, as the deviations from normality are minimal.

5.4 Create standardised scores for variable (Z scores)

Z-scores are calculated by subtracting the mean and dividing by the standard deviation for each value in the variable. For large samples(n<80), theory suggests that approximately 97% of Z-scores should fall within the +/-3.29 range to indicate that the data is approaching normality. However, as parametric tests are robust to moderate violations of normality, we will consider variables with at least 95% of Z-scores within +/-3.29 as sufficiently normal for parametric methods.

## 
##  Salary : Proportion of Z-scores within +/- 3.29 = 99.41372 %
## 
##  Age : Proportion of Z-scores within +/- 3.29 = 99.96899 %
## 
##  Reputation : Proportion of Z-scores within +/- 3.29 = 99.79706 %
## 
##  Caps : Proportion of Z-scores within +/- 3.29 = 97.76763 %
## 
##  Apps : Proportion of Z-scores within +/- 3.29 = 99.69559 %
  • Salary: has 99.41% of Z-scores within +/-3.29, far exceeding both the 97% theoretical threshold and the more lenient 95% threshold. However, extreme skewness (59.18) and kurtosis (5059.11) indicate substantial deviations from normality. Despite the high proportion of Z-scores within the range, non-parametric methods might remain more suitable if the transformations (e.g., logarithmic) cannot reduce skewness and kurtosis significantly. However, parametric tests can still be considered given the robustness of these tests to moderate deviations from normality.
  • Age: with 99.97% of Z-scores within the +/-3.29 range, Age is very close to normal. This aligns with the earlier skewness (0.21) and kurtosis (2.36) values, confirming that parametric tests could be justifiable for Age, as the variable shows very little deviation from normality.
  • Reputation: it shows 99.80% of Z-scores within the normal +/-3.29 range, reinforcing the interpretation that it is approximately normally distributed. This supports the earlier skewness (0.04) and kurtosis (3.38) findings, meaning parametric tests can be confidently used with Reputation.
  • Caps: it has 97.77% of Z-scores within +/-3.29, exceeding the theoretical 97% threshold. However, its high skewness (4.18) and kurtosis (26.11) indicate significant deviations from normality. Even though the Z-score proportion meets the threshold, non-parametric methods might be more appropriate unless a transformation (such as square root) is applied to reduce skewness and kurtosis.
  • Apps: with 99.70% of Z-scores within the normal range, Apps shows reasonable adherence to normality. This, along with its mild skewness (0.88) and kurtosis (3.24), suggests that parametric tests are appropriate for analyzing Apps, as the deviations from normality are not severe.

5.5 Assessment report

  • Salary and Caps: While these variables meet or exceed the 97% threshold for Z-scores within +/-3.29, their extreme skewness and kurtosis suggest significant deviations from normality. Transformations, such as logarithmic (for Salary) or square root (for Caps), could improve normality. Non-parametric methods might remain more suitable for these variables if the transformations do not sufficiently reduce the skewness or kurtosis. However, parametric tests could still be considered given the robustness of these methods.
  • Age, Reputation and Apps: Approaching normality with both skewness/kurtosis values in acceptable ranges and high Z-score proportions. Parametric tests (e.g., t-tests, Pearson correlation) can be appropriately used.

5.6 Variable transformations

5.6.1 Log transformation of Salary data

The log transformation is applied using log(Salary). This transformation is commonly used to deal with highly skewed data, as it compresses extreme values and often brings the distribution closer to normal. The original data exhibited extreme skewness (59.18) and kurtosis (5059.11), indicating that it had a long right tail with many extreme values. The log transformation is particularly effective in compressing the right tail of a distribution and reducing extreme values. It can help normalize distributions that have exponential growth or are heavily skewed (such as income or salary data). The transformation converts the salary values to a more manageable scale and helps make the data more normally distributed.

# Apply the log transformation (natural logarithm)
data$log_salary <- log(data$Salary)

# examine the summary statistics to see if the transformation improved the distribution.
summary(data$log_salary)  # Get summary statistics for the transformed Salary data
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   5.704   9.928  10.906  11.077  12.155  19.131

These values indicate that the transformed Salary variable now has a more centered distribution with reduced extreme values.

We will recalculate skewness and kurtosis and the Z-scores for the transformed data and check how many fall within this range.

# Calculate skewness and kurtosis for the log-transformed Salary data
skewness_log_salary <- skewness(data$log_salary)
kurtosis_log_salary <- kurtosis(data$log_salary)

# Print the results for skewness and kurtosis
cat("Skewness of transformed Salary:", skewness_log_salary, "\n")
## Skewness of transformed Salary: 0.1780779
cat("Kurtosis of transformed Salary:", kurtosis_log_salary, "\n")
## Kurtosis of transformed Salary: 3.333085
# Calculate Z-scores for the log-transformed Salary data
z_scores_log_salary <- (data$log_salary - mean(data$log_salary)) / sd(data$log_salary)

# Calculate the proportion of Z-scores within +/- 3.29
proportion_within_3_29 <- sum(abs(z_scores_log_salary) <= 3.29) / length(z_scores_log_salary) * 100

# Output the proportion of Z-scores within ±3.29 for the log-transformed Salary data
cat("Proportion of Z-scores within +/- 3.29 for transformed Salary:", proportion_within_3_29, "%\n")
## Proportion of Z-scores within +/- 3.29 for transformed Salary: 99.94363 %

For the Salary variable a logarithmic transformation was applied, significantly reducing the skewness and kurtosis, and resulting in a transformed variable with a skewness of 0.303 and kurtosis of 3.31. Furthermore, after transformation, 99.90% of Z-scores fell within ±3.29, which far exceeds the 95% threshold typically used for justifying parametric tests. Based on this improvement in normality, parametric methods can now be considered more appropriate, given the robustness of these tests to moderate deviations from normality.

5.6.3 Square root transformation of Caps data

A square root transformation will be applied to the Caps variable to reduce the high skewness and kurtosis. The square root transformation is often applied to data that is moderately skewed or has count data with a positive skew. The Caps data had a relatively high skewness (4.18) and kurtosis (26.11), which indicated a positive skew, but not as extreme as the Salary variable. After applying the transformation, we recalculate the Z-scores for the transformed variable and evaluate the proportion of Z-scores within ±3.29 to assess how well the transformation has normalized the data.

# Apply a transformation (e.g., square root) to Caps
sqrt_caps <- sqrt(data$Caps)

# Recalculate skewness and kurtosis for transformed Caps
skewness_transformed <- skewness(sqrt_caps)
kurtosis_transformed <- kurtosis(sqrt_caps)

# Round skewness and kurtosis to 2 decimal places for readability
skewness_transformed <- round(skewness_transformed, 3)
kurtosis_transformed <- round(kurtosis_transformed, 3)

# Output skewness and kurtosis for transformed Caps
cat("Skewness of transformed Caps: ", skewness_transformed, "\n")
## Skewness of transformed Caps:  1.875
cat("Kurtosis of transformed Caps: ", kurtosis_transformed, "\n")
## Kurtosis of transformed Caps:  6.405
# Recalculate Z-scores after transformation
z_scores_sqrt_caps <- scale(sqrt_caps)
proportion_z_scores_within_3_29_transformed <- mean(abs(z_scores_sqrt_caps) <= 3.29) * 100
proportion_z_scores_within_3_29_transformed <- round(proportion_z_scores_within_3_29_transformed, 3)
cat("Z-scores of transformed Caps:", proportion_z_scores_within_3_29_transformed)
## Z-scores of transformed Caps: 98.687

For the Caps variable, a square root transformation was applied, significantly reducing the skewness and kurtosis. The transformed variable now has a skewness of 2.082 and kurtosis of 7.346. Additionally, after the transformation, 98.40% of Z-scores fell within ±3.29, which exceeds the 95% threshold typically used for justifying parametric tests. Based on this improvement in normality, parametric methods can now be considered more appropriate, given the robustness of these tests to moderate deviations from normality.

5.7 Statements:

Salary scores were assessed for normality. Visual inspection of the histogram and QQ plot revealed a right-tailed and highly peaked distribution, indicating a significant deviation from normality. The skewness (59.18) and kurtosis (5059.11) were far beyond the acceptable thresholds (Curran, West, and Finch, 1996). Despite these extreme values, 99.41% of Z-scores fell within +/-3.29, surpassing both the 97% theoretical threshold and the more lenient 95% threshold used to justify the robustness of parametric tests.

Given the extreme skewness and kurtosis, non-parametric methods were initially considered more appropriate. However, after applying a logarithmic transformation to the Salary variable, the skewness was reduced to 0.303 and the kurtosis to 3.31, which are within acceptable limits for parametric tests. Additionally, 99.90% of Z-scores for the transformed data now fall within +/-3.29, further supporting the use of parametric methods. Despite the initial issues with normality, parametric tests can now be appropriately used, considering the robustness of these tests to moderate deviations from normality (mean = 362,275, sd = 2,147,614, n = 35,478).

Age scores were assessed for normality. Visual inspection of the histogram and QQ plot showed a distribution close to normal, with only a slight positive skew. Skewness (0.21) and kurtosis (2.36) fall within acceptable ranges, according to Curran, West, and Finch’s (1996) guidelines. Additionally, 99.97% of Z-scores lie within +/-3.29, meeting Field, Miles, and Field’s (2013) recommendation. Thus, Age may be considered approximately normal for most parametric tests (mean = 26.26, sd = 4.84, n = 35,478).

Reputation scores were assessed for normality. Visual inspection of the histogram and QQ plot revealed that Reputation scores exhibit a relatively normal distribution, with a skewness of 0.04 and kurtosis of 3.38, both within acceptable ranges (Curran, West, and Finch, 1996). Furthermore, 99.80% of Z-scores fall within +/-3.29, as per Field, Miles, and Field’s (2013) guidance. Therefore, Reputation can be considered approximately normal (mean = 4,789, sd = 1,089, n = 35,478)

Caps scores were also assessed for normality. Visual inspection of the histogram and QQ plot revealed a positively skewed distribution with high kurtosis, indicating a departure from normality. The skewness (4.18) and kurtosis (26.11) far exceed the acceptable limits suggested by Curran, West, and Finch (1996). These extreme values indicated that Caps was not normally distributed, and the Z-scores showed that only 97.77% of the Z-scores fell within +/-3.29, which is above the theoretical 95% threshold but still below the ideal 97% threshold.

Given the substantial skewness and kurtosis, non-parametric methods were initially recommended. However, after applying a square root transformation to Caps, the skewness was reduced to 2.082, and the kurtosis was brought closer to acceptable levels (7.346). The transformed variable now showed 98.40% of Z-scores falling within +/-3.29, which is well beyond the 95% threshold typically used for parametric tests.

As a result, parametric methods can now be considered appropriate for analyzing Caps scores after the transformation (mean = 5.91, sd = 14.49, n = 35,478).

Apps scores were evaluated for normality. Visual inspection of the histogram and QQ plot indicated moderate positive skewness. The skewness (0.88) and kurtosis (3.24) values are within ranges that suggest slight deviations from normality, yet are within permissible levels for large sample sizes. The Z-score analysis shows that a high proportion of values lie within +/-3.29, though extreme values may impact normality. Apps shows some deviation but may be treated as approximately normal under certain conditions (mean = 145.31, sd = 124.42, n = 35,478).

6. Hypotheses

  • Variables of Interest:

    • Reputation
    • Age
    • International appearances (Caps)
    • Last transfer Fee category
    • Club appearances (Apps)
    • Nationality (EU vs Non-EU)
    • Top 5 League Status
    • Annual Salary
    • League(Based)
  • Population: Professional football players in the 2023-24 season.

6.1. Identify a research question

Relationship-Based Question for this Dataset: What is the relationship between players’ reputation, age, career appearances (both international and club), transfer fee category, and league status on their annual salary in professional football?

6.2. Derive 5 testable hypotheses

Based on the research questions, the following hypotheses can be derived:

  1. H1:
  • Null Hypothesis (H0): There is no correlation between players’ current reputation and their annual salary.
  • Alternative Hypothesis (Ha): There is a correlation between players’ current reputation and their annual salary.
  • Variables: Current Reputation (Interval/Ratio), Transformed Salary (Interval/Ratio)
  1. H2:
  • Null Hypothesis (H0): There is no relationship between age and salary.
  • Alternative Hypothesis (Ha): There is a relationship between age and salary.
  • Variables: Age (Interval/Ratio), Transformed Salary (Interval/Ratio)
  1. H3:
  • Null Hypothesis (H0): There is no association between EU nationality and the league/nation (Based) where the club is located.
  • Alternative Hypothesis (Ha): There is an association between EU nationality and the league/nation (Based) where the club is located.
  • Variables: EU National (Binary Nominal), Based (Nominal with multiple categories)
  1. H4:
  • Null Hypothesis (H0): There is no correlation between salary and the league/nation (Based) where the club is located.
  • Alternative Hypothesis (Ha): There is a correlation between salary and the league/nation (Based) where the club is located.
  • Variables: Transformed Salary (Continuous), Based (Nominal with multiple categories))
  1. H5:
  • Null Hypothesis (H0): There is no difference in average salary between players in Top 5 leagues and those in non_Top 5 leagues.
  • Alternative Hypothesis (Ha): There is a difference in average salary between players in Top 5 leagues and those in non_Top 5 leagues.
  • Variables: Is_Top_5_League (Binary Nominal), Transformed Salary (Interval/Ratio)

7.Hypothesis Testing and Visualizations

This section presents the hypothesis testing results for each hypothesis, including appropriate statistical tests, interpretation of findings, and visualizations where applicable. Scatter plots are shown when assessing correlations between two continuous variables, such as Reputation and Salary. For hypotheses involving continuous and categorical variables, box plots are used to visually compare distributions. These visualizations help to interpret relationships and provide insights into data trends.

7.1 Hypothesis 1: Relationship between Reputation and Salary

  • H0: There is no correlation between players’ current reputation and their annual salary.

  • Ha: There is a correlation between players’ current reputation and their annual salary.

  • Variables: Reputation (Continuous, Approaching Normal), Transformed Salary (Continuous, Normal)

Pearson’s product-moment correlation was chosen to test the relationship between Reputation and Transformed Salary (log_salary) because both variables are continuous, and the transformed Salary variable now follows a normal distribution, as demonstrated by the previous analysis. Pearson’s correlation measures the strength and direction of the linear relationship between two continuous variables, and it assumes that both variables are normally distributed (or approximately so). Given that both variables meet these assumptions, this test is the most appropriate method for assessing their correlation.

# Pearson correlation test for Reputation and Transformed Salary
cor.test(data$Reputation, data$log_salary, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  data$Reputation and data$log_salary
## t = 297.31, df = 35476, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8417447 0.8477054
## sample estimates:
##       cor 
## 0.8447513

The result from the Pearson’s correlation test indicates a very strong positive correlation between Reputation and Transformed Salary (log_salary), with a correlation coefficient of 0.845. This suggests that as players’ reputation increases, their salary tends to increase as well. The t-value of 297.31 with 35476 degrees of freedom indicates a very significant relationship, and the p-value is reported as < 2.2e-16, which is effectively zero. This extremely small p-value is much lower than the commonly used significance level of 0.05, indicating that the null hypothesis of no correlation can be rejected.

The 95% confidence interval for the correlation is between 0.842 and 0.848, suggesting that we can be 95% confident that the true correlation lies within this range.

7.2 Hypothesis 2: Relationship between Age and Salary

  • H0: There is no correlation between players’ current age and their annual salary.

  • Ha: There is a correlation between players’ current age and their annual salary.

  • Variables: Reputation (Continuous), Transformed Salary (Continuous)

Since both variables are continuous and Salary is non-normal, we use Spearman correlation to test for correlation.

# Pearson correlation test for Reputation and Transformed Salary
cor.test(data$Age, data$log_salary, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  data$Age and data$log_salary
## t = 17.29, df = 35476, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.08108185 0.10171936
## sample estimates:
##        cor 
## 0.09141042

The Pearson correlation test reveals a weak positive correlation between players’ Age and their transformed Salary (log_salary), with a correlation coefficient of 0.091. This suggests that while there is a slight tendency for players with higher Age to have higher salaries, the relationship is not strong.

The test statistic (t = 17.29) and the extremely small p-value (< 2.2e-16) provide strong evidence to reject the null hypothesis (H0) of no correlation. The 95% confidence interval for the correlation coefficient is between 0.081 and 0.102, indicating that we are 95% confident the true correlation lies within this range.

7.3 Hypothesis 3: Association between EU Nationality and League/Nation (Based)

  • H0: There is no association between EU nationality and the league/nation (Based) where the club is located.

  • Ha: There is an association between EU nationality and the league/nation (Based) where the club is located.

  • Variables EU National (Binary Nominal), Based (Nominal with multiple categories)

Distribution of EU Nationality by League/Nation
League/Nation EU National: YES EU National: NO
Albania (Kategoria E Parë) 1 1
Albania (Kategoria Superiore) 6 26
Algeria (League 2 - East) 0 1
Algeria (League 2 - West) 0 2
Algeria (Ligue Professionnelle 1) 6 47
Andorra (Lliga Multisegur Assegurances) 45 8
Andorra (Lliga Unida) 0 1
Angola (Girabola) 10 64
Angola (Lower Division) 0 3
Angola (Segundona) 0 1
Antigua & Barbuda (Digicel/Red Stripe Premier Division) 0 38
Antigua & Barbuda (Usl Pro) 0 5
Argentina 1 1
Argentina (Liga Profesional De Fútbol) 46 87
Argentina (Primera B Metropolitana) 0 1
Argentina (Primera C) 2 0
Argentina (Primera Nacional) 6 4
Argentina (Torneo Argentino A) 4 3
Argentina (Torneo Argentino B) 1 1
Armenia 0 1
Armenia (Aradżin Chumb) 0 2
Armenia (Lower League) 0 2
Armenia (Premier League) 9 47
Aruba (Division Di Honor) 7 21
Australia 1 2
Australia (Fqpl3 - South Coast) 0 1
Australia (Isuzu Ute A-League) 36 36
Australia (Northern League One) 0 1
Australia (Npl Act) 0 1
Australia (Npl Nsw) 0 2
Australia (Npl Queensland) 1 4
Australia (Npl South Australia) 0 3
Australia (Npl Victoria) 2 14
Australia (Npl Wa) 0 3
Australia (Sa - State League 1) 0 1
Australia (Vic State League 5 North) 0 1
Australia (Vpl 1) 0 9
Australia (Wa State League Div 1) 0 2
Austria (1. Salzburger Landesliga) 4 0
Austria (2. Class East/Central) 1 0
Austria (2. Class South (S)) 1 0
Austria (2.Liga) 38 6
Austria (Bundesliga) 103 30
Austria (Eliteleague Vorarlberg) 2 0
Austria (Ii. League North (B)) 1 0
Austria (Ii. League South (B)) 1 0
Austria (Oberösterreich-Liga) 2 0
Austria (Regionalliga Mitte) 2 0
Austria (Regionalliga Ost) 6 1
Austria (Regionalliga West) 6 1
Austria (Steiermark) 3 1
Austria (Tiroler Liga) 0 1
Austria (Under League East (K)) 1 0
Austria (Under League West (K)) 1 0
Austria (Upper-League North (St)) 1 0
Austria (Vorarlbergliga) 1 0
Azerbaijan (Birinci Liqası ) 0 3
Azerbaijan (Həvəskarlar Liqası) 0 2
Azerbaijan (Misli Premyer Liqası) 32 76
Bahamas (Bfa Senior League) 0 37
Bahrain (2nd Division) 0 6
Bahrain (Premier League) 1 78
Bangladesh (Championship League) 0 3
Bangladesh (Grameenphone Bangladesh Premier League) 1 51
Barbados 0 3
Barbados (Digicel Premier League) 0 36
Barbados (Division One) 1 10
Belarus (Pieršaja Liha) 0 2
Belarus (Vyšejšaja Liha) 2 46
Belgium 2 0
Belgium (Challenger Pro League) 77 20
Belgium (Jupiler Pro League) 192 68
Belgium (Nationale 1) 30 1
Belgium (Third Division Acff D) 2 0
Belize (Lower Leagues) 0 9
Belize (Premier League) 0 24
Benin (Beninese Ligue 1 - A) 0 9
Benin (Beninese Ligue 1 - B) 0 15
Benin (Beninese Ligue 1 - C) 0 12
Benin (Beninese Ligue 1 - D) 0 2
Bermuda (Premier Division) 0 16
Bhutan (Premier League) 0 28
Bolivia (Bolivian Regional) 0 1
Bolivia (Copa Simón Bolívar) 0 15
Bolivia (División Profesional) 6 96
Bonaire (Kampionato) 12 8
Bosnia & Herzegovina (M:Tel Premier League) 34 7
Bosnia & Herzegovina (Prva Liga Republike Srpske) 1 0
Botswana (Lower Divisions) 0 3
Botswana (Premier Division) 0 79
Brazil 1 0
Brazil (Lower Division) 1 12
Brazil (Série A) 68 174
Brazil (Série B) 16 30
Brazil (Série C) 4 9
Brazil (Série D) 1 7
Brunei (Super League) 0 11
Bulgaria (Efbet League) 112 6
Bulgaria (Regional Krdzhali-Smolyan) 0 1
Bulgaria (Sofia V) 3 1
Bulgaria (Vtora Liga) 10 1
Burkina Faso (Burkinabé D1) 0 6
Burundi (Premier Division) 0 28
Cambodia (C-League) 4 56
Cambodia (Lower Division) 0 5
Cambodia (Second League) 0 2
Cameroon (Elite One A) 0 20
Cameroon (Elite One B) 0 21
Cameroon (Elite Two) 0 5
Canada 1 0
Canada (Canadian Premier League) 24 30
Canada (Csl) 0 1
Canada (League1 Ontario) 0 2
Canada (Première Ligue De Soccer Du Québec) 1 0
Cape Verde (Boa Vista Premier) 0 1
Cape Verde (Fogo Premier) 0 1
Cape Verde (Sal Premier) 0 1
Cape Verde (Santiago (S) Premier) 0 3
Cape Verde (Santo Antão (S) Premier) 0 1
Cape Verde (São Nicolau Premier) 0 1
Cape Verde (São Vicente Premier) 1 8
Central African Rep. (Premier Division) 0 28
Chad (Premier Division) 0 19
Chile (Campeonato Afp Planvital) 14 272
Chile (Campeonato Primera B) 6 93
Chile (Segunda División) 0 8
Chile (Tercera División) 0 1
China (Amateur League) 0 1
China (Changchun) 0 1
China (China League One) 8 20
China (Chinese Super League) 31 111
China (Second Division South) 0 1
Chinese Taipei (China Pr) (Ctp Division 2) 1 2
Chinese Taipei (China Pr) (Ctp Premier League) 0 35
Colombia (Liga Betplay) 4 63
Colombia (Primera C) 1 0
Colombia (Torneo Betplay) 0 10
Comoros (Premier League Mwali) 0 4
Comoros (Premier League Ndzuani) 0 6
Comoros (Premier League Ngazidja) 1 20
Congo (Championnat National) 1 41
Costa Rica (Liga De Ascenso) 0 10
Costa Rica (Lower Division) 0 1
Costa Rica (Primera División) 2 68
Crimea 0 1
Crimea (Crimean Premier League) 0 1
Croatia 1 0
Croatia (Supersport Druga Nl) 2 1
Croatia (Supersport Hnl) 96 26
Croatia (Supersport Prva Nl) 12 1
Croatia (Treća Nl Sjever) 0 1
Croatia (Treća Nl Zapad) 3 1
Croatia (Znl - Pazin) 1 0
Cuba (Campeonato Nacional) 0 20
Curaçao (2nd Division) 1 1
Curaçao (Promé Divishon) 6 9
Cyprus (B' Katigoria) 26 2
Cyprus (Cyta Championship) 133 45
Czechia (Fortuna Liga) 86 13
Czechia (Fortuna Národní Liga) 9 10
Czechia (Lower Division) 0 1
Czechia (Msfl) 2 0
Czechia (Čfl A) 3 0
Czechia (Čfl B) 1 1
Denmark (2. Division) 8 2
Denmark (3. Division) 2 0
Denmark (3f Superliga) 79 25
Denmark (Nordicbet Liga) 27 9
Djibouti (Premier Division) 3 24
Dominica (First Division) 0 1
Dominica (Premiere League) 0 34
Dominican Republic (Liga Dominicana De Fútbol) 6 36
Dr Congo 0 1
Dr Congo (Linafoot A) 0 44
Dr Congo (Linafoot B) 1 20
East Timor (Premier Division) 1 26
East Timor (Second Division) 0 4
Ecuador (Ligapro Serie A) 4 64
Ecuador (Ligapro Serie B) 2 10
Ecuador (S.c. De Chimborazo) 1 1
Ecuador (S.c. De Esmeraldas) 0 1
Ecuador (S.c. De Guayas) 0 1
Ecuador (S.c. De Loja) 0 1
Egypt (Premier League) 3 114
Egypt (Second Division - Group 1) 0 7
Egypt (Second Division - Group 2) 0 11
Egypt (Second Division - Group 3) 0 2
Egypt (Third Division - Group 5) 0 1
El Salvador 0 1
El Salvador (Primerà Division) 2 63
El Salvador (Segunda División) 0 1
England 2 11
England (Efl Championship) 227 573
England (Efl League One) 126 491
England (Efl League Two) 90 447
England (Evo-Stik League Premier Division) 5 16
England (Hellenic D1) 0 1
England (Isthmian D1 Sc) 0 4
England (Midland Premier) 1 1
England (National League North) 7 32
England (National League South) 9 50
England (National League) 29 185
England (Northern D2) 0 2
England (Northern Premier D1e) 0 2
England (Northern Premier D1m) 0 2
England (Northern Premier D1w) 3 3
England (Premier League) 319 398
England (Ryman League Premier Division) 1 5
England (Sl - Division One Central) 0 3
England (Southern Premier Central) 1 7
England (Southern Premier South) 1 10
England (Spartan South Midlands Football League) 0 2
England (Sussex County Football League) 1 0
Eq. Guinea (1. Continental) 0 10
Eq. Guinea (1. Insular) 0 13
Eq. Guinea (Second Division) 0 1
Eritrea (Premier Division) 0 2
Estonia 1 0
Estonia (Esiliiga B) 1 0
Estonia (Esiliiga) 4 0
Estonia (Lower Leagues) 3 0
Estonia (Meistriliiga) 39 3
Eswatini (Lower Divisions) 0 1
Eswatini (Premier League) 0 52
Ethiopia (Higher League Group B) 0 2
Ethiopia (Higher League Group C) 0 2
Ethiopia (Higher League) 0 6
Ethiopia (Lower Divisions) 0 1
Ethiopia (Premier Division) 0 85
Faroe Islands (1. Deild) 1 0
Faroe Islands (Betri Deildin Menn) 39 0
Fiji (Lower Division) 0 2
Fiji (Premier League) 0 45
Finland 1 0
Finland (Kakkonen Lohko A) 3 0
Finland (Kakkonen Lohko B) 1 1
Finland (Veikkausliiga) 52 14
Finland (Ykkönen) 6 5
France 20 2
France (Ligue 1) 391 88
France (Ligue 2) 407 55
France (Ligues Régionales) 7 1
France (National 2 Groupe A) 162 8
France (National 2 Groupe B) 154 6
France (National 2 Groupe C) 151 4
France (National 2 Groupe D) 140 9
France (National 3 - Group A) 75 11
France (National 3 - Group B) 69 4
France (National 3 - Group C) 35 6
France (National 3 - Group D) 49 6
France (National 3 - Group E) 47 2
France (National 3 - Group F) 60 2
France (National 3 - Group G) 97 2
France (National 3 - Group H) 52 6
France (National 3 - Group I) 77 15
France (National 3 - Group J) 59 3
France (National 3 - Group K) 75 9
France (National) 390 30
France (R1 - Auvergne Ra - B) 2 0
France (R1 - Auvergne Ra - C) 11 0
France (R1 - Bretagne - A) 19 0
France (R1 - Hauts De France - A) 11 4
France (R1 - Méditerranée) 21 0
France (R1 - Normandie - B) 1 0
France (R1 - Occitanie - A) 5 0
France (R1 - Occitanie - C) 6 0
France (R1 - Paris Idf - A) 17 0
France (R1 - Paris Idf - B) 14 0
France (R1 - Pays De La Loire - A) 6 1
French Guiana (Régional 1) 18 6
Gabon (Championnat D1) 0 20
Georgia (Erovnuli Liga) 4 42
Georgia (Liga 3) 0 2
Germany 4 0
Germany (2. Bundesliga) 554 33
Germany (3. Liga) 501 8
Germany (Baden-Württemberg) 47 0
Germany (Bayernliga Nord) 7 1
Germany (Bayernliga Süd) 24 1
Germany (Bremen-Liga) 13 2
Germany (Bundesliga) 468 48
Germany (German Lower Division) 44 1
Germany (Hessia) 23 1
Germany (North East-South) 27 0
Germany (Oberliga Hamburg) 8 0
Germany (Oberliga Mittelrhein) 29 0
Germany (Oberliga Niederrhein) 38 1
Germany (Oberliga Niedersachsen) 26 1
Germany (Oberliga Nordost) 33 0
Germany (Oberliga Schleswig-Holstein) 3 0
Germany (Oberliga Westfalen) 41 0
Germany (Regionalliga Bayern) 247 2
Germany (Regionalliga Nord) 194 3
Germany (Regionalliga Nordost) 272 5
Germany (Regionalliga Südwest) 359 11
Germany (Regionalliga West) 280 4
Germany (Rp/Saar) 32 1
Germany (U19 Div. 2 North) 3 0
Ghana (Division One League Zone 2) 0 1
Ghana (Division One League Zone 3) 0 2
Ghana (Lower Division) 0 2
Ghana (Premier League) 0 24
Gibraltar (Football League) 48 2
Greece (A' Eps Anatolikís Attikís) 1 0
Greece (G Ethniki 3os Omilos) 2 0
Greece (G Ethniki 4os Omilos) 1 1
Greece (Super League 1) 142 43
Greece (Super League 2 Notios Omilos) 15 2
Greece (Super League 2 Voreios Omilos) 7 1
Grenada (Premier Division) 0 34
Guadeloupe (Ligue Régionale 3) 1 0
Guadeloupe (R2 Poule A) 4 0
Guadeloupe (Régionale 1) 21 1
Guadeloupe (Régionale 2 Poule B) 4 0
Guatemala (Liga Nacional) 1 66
Guatemala (Primera División De Ascenso) 0 14
Guinea (Lower Divisions) 0 2
Guinea (Premier Division) 0 39
Guinea-Bissau (Gb Division 1) 1 17
Guyana (Gff Elite League) 0 23
Guyana (Regional Leagues) 0 5
Haiti (D2 Sud) 0 2
Haiti (Digicel Championnat Haitienne) 1 10
Honduras 0 1
Honduras (Liga Nacional De Ascenso) 0 2
Honduras (Liga Salva-Vida) 0 67
Hong Kong (China Pr) (First Division) 1 6
Hong Kong (China Pr) (Hong Kong First Division) 6 38
Hong Kong (China Pr) (Lower Division) 0 1
Hungary (Division Iii - Northeast) 1 0
Hungary (Division Iii - Northwest) 1 0
Hungary (Division Iii - Southwest) 1 0
Hungary (Merkantil Bank Liga) 17 1
Hungary (Otp Bank Liga) 70 20
Iceland (1. Deild Karla) 13 4
Iceland (2. Deild Karla) 1 2
Iceland (3. Deild Karla) 0 1
Iceland (Besta-Deild Karla) 61 3
Iceland (Fourth Division) 2 0
India 1 0
India (Airtel I-League 3rd Division) 0 2
India (Hero 2nd Division League) 0 3
India (Hero I-League) 5 15
India (Indian Lower Division) 0 3
India (Indian Super League) 28 64
Indonesia (League Two Group 1) 0 6
Indonesia (League Two Group 2) 0 4
Indonesia (League Two Group 3) 0 1
Indonesia (League Two Group 4) 0 9
Indonesia (Liga 1) 29 105
Indonesia (Liga 3) 0 1
Iran (Azadegan League) 0 1
Iran (Iran Pro League) 7 61
Iraq (Dawri Al-Nokhba) 1 105
Iraq (First Division A) 0 7
Iraq (First Division B) 0 6
Iraq (Lower Division) 0 1
Ireland 1 0
Ireland (First Division) 26 7
Ireland (Premier Division) 121 25
Israel (B League North A) 0 1
Israel (Liga Alef B) 0 4
Israel (Liga Alef North) 0 1
Israel (Liga Leumit) 11 8
Israel (Ligat Ha`Al) 57 62
Italy 19 0
Italy (Eccellenza Abruzzo) 2 0
Italy (Eccellenza Basilicata) 4 1
Italy (Eccellenza Calabria) 1 2
Italy (Eccellenza Campania A) 6 0
Italy (Eccellenza Campania B) 1 0
Italy (Eccellenza Emilia-Rom. A) 10 0
Italy (Eccellenza Emilia-Rom. B) 0 2
Italy (Eccellenza Friuli-V.g.) 2 0
Italy (Eccellenza Lazio A) 3 1
Italy (Eccellenza Lazio B) 4 1
Italy (Eccellenza Liguria) 2 1
Italy (Eccellenza Lombardia A) 6 1
Italy (Eccellenza Lombardia B) 11 0
Italy (Eccellenza Lombardia C) 2 1
Italy (Eccellenza Marche) 6 0
Italy (Eccellenza Molise) 1 0
Italy (Eccellenza Piemonte A) 1 0
Italy (Eccellenza Piemonte B) 5 0
Italy (Eccellenza Puglia A) 4 1
Italy (Eccellenza Puglia B) 12 0
Italy (Eccellenza Sardegna) 5 1
Italy (Eccellenza Sicilia A) 5 2
Italy (Eccellenza Toscana A) 3 0
Italy (Eccellenza Toscana B) 3 0
Italy (Eccellenza Trentino-A.a.) 1 0
Italy (Eccellenza Umbria) 3 0
Italy (Eccellenza Veneto A) 3 0
Italy (Eccellenza Veneto B) 3 0
Italy (Promoz. Piemonte-Vda B) 1 0
Italy (Serie A) 577 95
Italy (Serie B) 547 20
Italy (Serie C Girone A) 436 13
Italy (Serie C Girone B) 440 9
Italy (Serie C Girone C) 462 13
Italy (Serie D Girone A) 61 1
Italy (Serie D Girone B) 65 3
Italy (Serie D Girone C) 51 1
Italy (Serie D Girone D) 74 3
Italy (Serie D Girone E) 68 1
Italy (Serie D Girone F) 46 1
Italy (Serie D Girone G) 43 1
Italy (Serie D Girone H) 60 3
Italy (Serie D Girone I) 45 1
Ivory Coast (Ligue 1) 0 5
Jamaica (Jff Championship) 0 3
Jamaica (Red Stripe Premier League) 1 56
Japan (Football League) 0 7
Japan (J1 League) 22 380
Japan (J2 League) 10 198
Japan (J3 League) 4 23
Japan (Kanto Soccer League) 0 1
Japan (Tokyo League) 0 2
Jordan (Al-Manaseer Jordanian Pro League 1st Division) 0 62
Jordan (Al-Manaseer Jordanian Pro League 2nd Division) 0 2
Kazakhstan (Almaty A League) 0 1
Kazakhstan (Byrynszy Liga) 0 6
Kazakhstan (Priemjer Ligasy) 14 84
Kazakhstan (South Kazakhstan Champ.) 0 1
Kenya (Kenyan Premier Division) 0 6
Kosovo (First League B) 0 1
Kosovo (Superleague) 5 22
Kuwait (Kuwaiti Division One) 0 5
Kuwait (Kuwaiti Premier League) 4 86
Kyrgyzstan (Shoro Top League) 1 43
Laos (Lao Premier League) 1 45
Laos (Laotian League 2) 0 2
Laos (League 2 Group B) 0 2
Laos (Lower Division) 0 2
Latvia (1. Līga) 1 0
Latvia (Optibet Virslīga) 34 14
Lebanon (Lebanese Premier League) 8 50
Lebanon (Lebanese Second Division) 0 1
Lesotho (Lower Divisions) 0 1
Lesotho (Premier Division) 0 49
Liberia (Liberian Lower Division) 0 1
Liberia (Premier League) 0 48
Liberia (Second Division) 0 3
Libya (First Division) 0 103
Libya (Libyan Second Division) 0 3
Libya (Second Divisin Group 3) 0 1
Libya (Second Division Group 5) 0 1
Libya (Second Division Group 6) 0 1
Lithuania (A Lyga) 60 6
Lithuania (I Lyga) 5 2
Luxembourg (Bgl Ligue) 100 6
Luxembourg (Éierepromotioun) 18 1
Macau (China Pr) (1ª Divisão) 0 14
Madagascar (Opl - Conference Nord) 0 15
Madagascar (Opl - Conference Sud) 0 16
Madagascar (Pro League) 0 4
Malawi (Premier Division) 0 56
Malaysia 0 3
Malaysia (Astro Liga Super Malaysia) 14 107
Malaysia (M3 League) 0 10
Malaysia (M4 League Borneo) 0 2
Maldives (Dhivehi League) 0 24
Maldives (Second Division) 0 1
Mali (Bamako League) 0 1
Mali (Koulikoro Championship) 0 1
Mali (Malian Ligue 1) 0 32
Malta (Challenge League) 8 1
Malta (Premier League) 46 6
Martinique (Régionale 1) 36 2
Martinique (Régionale 2 Groupe A) 1 0
Mauritania (Mauritanian D1) 0 28
Mauritania (Mauritanian Lower Leagues) 0 1
Mauritius 0 1
Mauritius (Lower Divisions) 0 5
Mauritius (Premier Division) 0 22
Mexico 1 0
Mexico (Expansion League) 0 8
Mexico (Liga Mx) 31 145
Mexico (Liga Premier Serie A Grupo 2) 0 1
Moldova (Moldovan Divizia A Group) 0 2
Moldova (Moldovan Lower Division) 0 1
Moldova (Super Liga) 12 31
Mongolia (Niislel League) 1 41
Montenegro 0 1
Montenegro (1.Cfl) 2 12
Montenegro (2. Cfl) 1 5
Morocco (Botola 2) 1 12
Morocco (Botola Pro 1) 8 47
Morocco (Championnat National Amateur) 0 5
Morocco (Lower Leagues) 0 1
Mozambique (Mozambican Lower Division) 0 5
Mozambique (Premier Division) 0 80
Myanmar (Myanmar National League 2) 0 1
Myanmar (Myanmar National League) 0 41
N.ireland (Nifl Premier Intermediate League) 1 0
N.ireland (Nifl Premiership) 52 13
Namibia 0 1
Namibia (Lower Divisions) 0 1
Namibia (Premier Division) 0 26
Nepal (A-Division) 0 27
Nepal (B-Division) 0 2
Nepal (Nepali Super League) 0 7
Netherlands 1 0
Netherlands (Eerste Divisie) 93 4
Netherlands (Eredivisie) 219 24
Netherlands (Tweede Divisie) 3 0
New Caledonia 2 0
New Caledonia (Promotion D'honneur Lifou) 1 0
New Caledonia (Promotion D'honneur Maré) 1 0
New Caledonia (Promotion D'honneur Nord) 1 0
New Caledonia (Super Ligue) 36 0
New Zealand (Central Region Premier League) 0 1
New Zealand (Northern Premier League) 1 1
Nicaragua (Primera Division) 0 38
Nicaragua (Segunda División) 0 6
Niger (Lower Divisions) 0 4
Niger (Premier Division) 0 29
Nigeria 0 1
Nigeria (Nigeria Nationwide League Division One) 0 1
Nigeria (Nigeria Professional Football League) 1 45
Nigeria (Second Division A2) 0 1
Nigeria (Second Division B1) 0 1
North Korea (Dpr Korea League) 0 61
North Macedonia (1. Mfl) 3 31
Norway (Eliteserien) 78 12
Norway (Fourth Div. Rogaland 1) 1 0
Norway (Fourth Div. Rogaland 2) 2 0
Norway (Fourth Division Agder) 1 0
Norway (Fourth Division Østfold) 1 0
Norway (Norsk Tipping-Ligaen Avd 1) 2 0
Norway (Norsk Tipping-Ligaen Avd 2) 1 1
Norway (Norsk Tipping-Ligaen Avd 4) 1 1
Norway (Norsk Tipping-Ligaen Avd 6) 1 0
Norway (Obos-Ligaen) 24 5
Norway (Postnord-Ligaen Avd 1) 7 0
Norway (Postnord-Ligaen Avd 2) 3 0
Oman 0 3
Oman (Lower Division) 0 3
Oman (Omantel League) 1 78
Palestine (Gaza Strip League) 0 1
Palestine (West Bank First League) 0 4
Palestine (West Bank Premier League) 0 31
Panama (Liga Panameña) 1 41
Panama (Lower Leagues) 0 1
Papua New Guinea (National Soccer League) 2 20
Paraguay (División Intermedia) 0 5
Paraguay (Primera División B Nacional) 0 1
Paraguay (Primera División B: Metropolitana) 0 1
Paraguay (Primera División) 4 37
Peru (Liga 1) 5 62
Peru (Liga 2) 0 9
Philippines (Football League) 3 10
Philippines (Lower Division) 1 3
Poland (Ekstraklasa) 129 15
Poland (I Liga) 40 2
Poland (Ii Liga) 10 1
Poland (Iv Liga) 7 3
Poland (Third Division Group 3) 2 0
Poland (Third Division Group 4) 8 0
Portugal 20 3
Portugal (Algarve First Division) 9 3
Portugal (Azores League) 0 1
Portugal (Braga Pro-National) 1 1
Portugal (Campeonato De Portugal Prio A) 52 10
Portugal (Campeonato De Portugal Prio B) 120 24
Portugal (Campeonato De Portugal Prio C) 37 14
Portugal (Campeonato De Portugal Prio D) 79 13
Portugal (Liga Portugal 2 Sabseg) 420 128
Portugal (Liga Portugal Betclic) 432 183
Portugal (Lisbon Pro-National) 3 11
Portugal (Lower Regional Divisions) 11 0
Portugal (Madeira Honor Division) 1 0
Portugal (Porto Elite Serie 1) 1 0
Portugal (Pt 3rd Division N) 177 30
Portugal (Pt 3rd Division S) 143 31
Portugal (Vila Real Honor Division) 7 1
Puerto Rico (Liga Pr) 0 8
Puerto Rico (Lower Division) 0 1
Puerto Rico (Prsl 2nd Div.) 0 7
Qatar (Lower Division) 0 4
Qatar (Qatargas League) 4 10
Qatar (Qnb Stars League) 34 77
Romania 1 0
Romania (Liga I) 139 29
Romania (Liga Ii) 27 4
Romania (Liga Iii - Seria I) 0 1
Romania (Liga Iii - Seria Ii) 1 0
Romania (Liga Iii - Seria Ix) 0 1
Romania (Liga Iii - Seria X) 1 0
Romania (Liga Iv - Harghita) 1 0
Russia 0 1
Russia (Fnl) 2 24
Russia (Rpl) 33 134
Russia (Second Division A Gold) 0 2
Russia (Second Division A Silver) 0 2
Russia (Second Division B Group 4) 0 1
Rwanda (Lower Divisions) 0 1
Rwanda (Premier Division) 1 74
Réunion (D2r) 0 1
Réunion (R1) 4 7
Saudi Arabia (First Division League) 22 49
Saudi Arabia (Saudi Pro League) 73 165
Saudi Arabia (Second Division Grp A) 3 14
Saudi Arabia (Second Division Grp B) 1 6
Saudi Arabia (Third Division Grp C) 0 2
Scotland 1 7
Scotland (Championship) 14 144
Scotland (Eos 2nd Div) 1 0
Scotland (Highland League) 0 5
Scotland (League One) 4 59
Scotland (League Two) 0 4
Scotland (Lowland League) 3 4
Scotland (Premiership) 77 228
Scotland (Wos 1st Div) 1 1
Scotland (Wos Premier) 0 2
Senegal (Senegalese Ligue 1) 0 29
Senegal (Senegalese Ligue 2) 0 7
Senegal (Senegalese National 1 - A) 0 1
Serbia 0 1
Serbia (Prva Liga) 3 7
Serbia (Srpska Liga Beograd) 0 1
Serbia (Srpska Liga Vojvodina) 1 1
Serbia (Superliga) 22 67
Sierra Leone (Premier Division) 0 40
Singapore (Great Eastern Yeo's S League) 8 62
Singapore (Nfl Division 1) 0 4
Slovakia (2. Liga) 2 1
Slovakia (Fortuna Liga) 31 12
Slovenia 1 0
Slovenia (2.Snl) 9 1
Slovenia (3.Snl Zahod) 4 0
Slovenia (Prvaliga) 39 8
Solomon Islands (S-League) 0 36
Somalia (Somali Premier Division) 0 37
South Africa (First Division) 0 35
South Africa (Premier Division) 3 205
South Africa (Second Division - Kwazulu Natal) 0 1
South Africa (Second Division - Mpumalanga) 0 1
South Korea 0 1
South Korea (K League 1) 14 79
South Korea (K League 2) 2 16
South Korea (K3 League) 1 0
South Korea (K4 League) 0 2
South Sudan (Lower Divisions) 0 23
Spain 19 0
Spain (1ª Aut.pref. La Mancha G1) 1 1
Spain (1ª Aut.pref. La Mancha G2) 0 1
Spain (1ª Ffcv G4) 2 1
Spain (1ª Reg. Pref. Mallorca) 4 0
Spain (1ª Rffpa) 1 0
Spain (Comunitat Valenciana 2) 5 1
Spain (Div. Honor Andalucía G1) 2 0
Spain (Div. Honor Andalucía G2) 6 0
Spain (Div. Honor Vizcaya) 4 0
Spain (LaLiga 2) 566 37
Spain (LaLiga) 478 68
Spain (Pref. Las Palmas) 12 2
Spain (Pref. Madrid G2) 1 0
Spain (Pref. Madrid Gr.1) 2 0
Spain (Pref. Tenerife) 3 1
Spain (Primera Andaluza Cádiz) 13 2
Spain (Primera Catalana G1) 2 0
Spain (Primera Extremeña G1) 0 1
Spain (Primera Federación Grupo I) 469 19
Spain (Primera Federación Grupo Ii) 477 23
Spain (Reg. Ibiza-Formentera) 0 1
Spain (Regional Division) 26 4
Spain (Segunda Federación Grupo I) 219 7
Spain (Segunda Federación Grupo Ii) 222 11
Spain (Segunda Federación Grupo Iii) 247 6
Spain (Segunda Federación Grupo Iv) 260 20
Spain (Segunda Federación Grupo V) 248 9
Spain (Superlliga Catalana) 2 0
Spain (Tercera Federación Grupo I) 59 2
Spain (Tercera Federación Grupo Ii) 25 2
Spain (Tercera Federación Grupo Iii) 27 0
Spain (Tercera Federación Grupo Iv) 59 2
Spain (Tercera Federación Grupo Ix) 69 5
Spain (Tercera Federación Grupo V) 99 8
Spain (Tercera Federación Grupo Vi) 57 7
Spain (Tercera Federación Grupo Vii) 86 2
Spain (Tercera Federación Grupo Viii) 46 2
Spain (Tercera Federación Grupo X) 54 0
Spain (Tercera Federación Grupo Xi) 43 1
Spain (Tercera Federación Grupo Xii) 61 5
Spain (Tercera Federación Grupo Xiii) 41 3
Spain (Tercera Federación Grupo Xiv) 27 0
Spain (Tercera Federación Grupo Xv) 23 0
Spain (Tercera Federación Grupo Xvi) 13 2
Spain (Tercera Federación Grupo Xvii) 21 1
Spain (Tercera Federación Grupo Xviii) 71 4
Spain (Terr. Pref. Murcia) 5 0
Spain (U19 Division 1 Group 1) 1 0
Spain (U19 Division 1 Group 4) 2 0
Spain (U19 Division 1 Group 5) 1 0
Spain (U19 Division 1 Group 6) 0 1
Spain (U19 Division 1 Group 7) 0 1
Spain (U19 Division 2 Group 15) 4 0
Spain (U19 Division 2 Group 17) 1 0
Sri Lanka (Dialog Champions League) 0 22
St Kitts & Nevis (Sknfa Premier League) 0 34
St Lucia (Slfa First Division) 0 5
St Lucia (Third Division) 0 1
St Vincent (First Division) 0 5
St Vincent (Nla Svgff Club Championship) 0 19
Sudan (Premier League) 0 56
Sudan (Sudanese Lower Division) 0 1
Suriname (Topklasse) 0 34
Sweden (Allsvenskan) 111 15
Sweden (Division 1 Norra) 10 6
Sweden (Division 1 Södra) 6 2
Sweden (Division 2 Norrland) 1 1
Sweden (Division 2 Södra Götaland) 5 0
Sweden (Division 2 Södra Svealand) 3 0
Sweden (Division 3 Nordöstra Götaland) 1 0
Sweden (Division 3 Sydvästra Götaland) 1 0
Sweden (Division 3 Sydöstra Götaland) 1 0
Sweden (Division 3 Södra Götaland) 1 0
Sweden (Superettan) 36 7
Switzerland (1. Liga Classic Gruppe 1) 6 4
Switzerland (1. Liga Classic Gruppe 2) 8 0
Switzerland (1. Liga Classic Gruppe 3) 18 0
Switzerland (2. Liga Interregional Gruppe 1) 2 0
Switzerland (2. Liga Interregional Gruppe 2) 2 0
Switzerland (2. Liga Interregional Gruppe 4) 1 0
Switzerland (Brack.ch Challenge League) 57 3
Switzerland (Lower Division) 1 0
Switzerland (Promotion League) 33 4
Switzerland (Raiffeisen Super League) 132 21
Syria 0 1
Syria (Syrian Premier League) 0 55
Syria (Syrian Second Division Group 2) 0 1
Syria (Syrian Second Division Group 4) 0 1
São Tomé & Príncipe (Príncipe Division 1) 0 1
São Tomé & Príncipe (São Tomé Division 1) 0 18
Tahiti (Ligue 1) 29 2
Tahiti (Ligue 2) 1 0
Tajikistan (2nd Div. Sughd Region) 0 1
Tajikistan (Kahramonhoi Todżikiston) 0 39
Tajikistan (Tajik First) 0 4
Tanzania (Premier Division) 0 16
Thailand (Thai League 2 M-150 Championship) 8 7
Thailand (Thai League 3 - Bangkok) 0 1
Thailand (Thai League 3 - East) 0 2
Thailand (Thai League 3 - South) 1 2
Thailand (Thai League 3 - West) 0 4
Thailand (Toyota Thai League) 22 91
The Gambia (Gambian Premier Division) 0 7
The Gambia (Gambian Second Division) 0 3
Togo (Togolese First Division) 0 32
Tonga 0 1
Trinidad & Tobago (Pro League) 0 55
Trinidad & Tobago (Super League) 0 2
Tunisia (Amateur 1 - Group A) 0 1
Tunisia (Clp-1) 8 54
Tunisia (Clp-2) 0 2
Turkmenistan (Ýokary Ligasy) 0 48
Turks & Caicos Is. (Premier League) 0 1
Türkiye 0 1
Türkiye (2. Lig Beyaz Grup) 6 1
Türkiye (2. Lig Kırmızı Grup) 9 1
Türkiye (3. League Group 4) 1 0
Türkiye (3. Lig Grup 2) 2 0
Türkiye (Spor Toto Süper Lig) 181 139
Türkiye (Tff 1. Lig) 70 41
U.a.e. (First Division League) 1 19
U.a.e. (Pro League) 33 107
U.a.e. (Second Division League) 1 2
U.s.a. (Eastern Conference) 9 24
U.s.a. (Lower Leagues) 0 1
U.s.a. (Mls) 156 256
U.s.a. (Nisa) 1 6
U.s.a. (Pdl Southwest Division) 1 0
U.s.a. (Usl1) 15 38
U.s.a. (Uslc Eastern Conference) 14 44
U.s.a. (Uslc Western Conference) 20 45
U.s.a. (West Region) 0 1
U.s.a. (Western Conference) 8 9
Uganda (Big League) 0 6
Uganda (Premier League) 1 62
Ukraine (Favbet Liha) 6 66
Ukraine (Persha Liha) 0 1
Uruguay (Liga Profesional De Primera División) 25 36
Uruguay (Segunda División) 0 2
Uzbekistan (Birinchi Ligasi) 0 3
Uzbekistan (Pro League) 0 7
Uzbekistan (Superleague) 3 79
Vanuatu (Luganville Premier) 0 1
Vanuatu (Premier Division) 0 35
Venezuela 0 1
Venezuela (Primera División) 7 31
Venezuela (Segunda División) 1 6
Vietnam 0 1
Vietnam (Eximbank First Division) 0 4
Vietnam (Eximbank V.league) 2 68
Vietnam (Nhì Quốc Gia Bảng B) 0 2
Wales (Cymru Premier) 2 21
Wales (Jd Cymru North) 1 0
Yemen (Lower Division) 0 4
Yemen (Second Division A) 0 1
Yemen (Yemeni League) 0 35
Zambia (Division 1) 0 7
Zambia (Super Division) 0 138
Zambia (Zambian Lower Division) 0 2
Zimbabwe (Lower Division) 0 3
Zimbabwe (Premier Division) 0 57

To assess the association between EU Nationality (Binary) and League/Nation (Nominal with multiple categories), we need to choose an appropriate statistical test. Given that both variables are categorical, we initially considered the Chi-Square Test of Independence, which is commonly used to evaluate relationships between categorical variables.

The Chi-Square Test assumes that all expected counts in the contingency table are 5 or greater. If this assumption is violated, the test may not be reliable. In cases where any expected count is less than 5, we should instead use Fisher’s Exact Test, which is more accurate when dealing with small sample sizes or when the contingency table has cells with low expected counts.

We performed the Chi-Square test and checked the expected counts for each cell in the contingency table. If any of the expected counts are below 5, Fisher’s Exact Test would be recommended, as it is more suitable for small sample sizes or low frequencies in categorical data.

Based on the results of the Chi-Square test and verification of expected counts, we determined whether the Chi-Square test or Fisher’s Exact Test is appropriate for analyzing the association between EU Nationality and League/Nation.

# Create the contingency table (adjust 'data$EU_National' and 'data$Based' to your variables)
contingency_table <- table(data$EU_National, data$Based)

# Perform the Chi-Square Test and Fisher's Exact Test
#crosstable_result <- Crosstable(contingency_table, fisher = TRUE, chisq = TRUE)

# Error in Crosstable(contingency_table, fisher = TRUE, chisq = TRUE) : 
#  could not find function "Crosstable"

# Perform Chi-Square Test
chi_square_result <- chisq.test(contingency_table)

# Check if any expected counts are less than 5
if (any(chi_square_result$expected < 5)) {
  print("Fisher's Exact Test is recommended due to low expected counts.")
} else {
  print("Chi-Square Test is appropriate.")
}
## [1] "Fisher's Exact Test is recommended due to low expected counts."
# Perform Fisher's Exact Test (if expected count is below 5)
#fisher_test_result <- fisher.test(contingency_table)

# Perform Fisher's Exact Test using the coin package
fisher_test_result <- fisher.test(contingency_table, simulate.p.value = TRUE, B = 10000)

# Print result
print(fisher_test_result)
## 
##  Fisher's Exact Test for Count Data with simulated p-value (based on
##  10000 replicates)
## 
## data:  contingency_table
## p-value = 9.999e-05
## alternative hypothesis: two.sided

The Fisher’s Exact Test was conducted to assess the association between EU Nationality (binary variable: Yes/No) and League/Nation Based (nominal variable with multiple categories). The test resulted in a p-value of 9.999e-05, indicating a significant association between the two variables.

This extremely small p-value suggests that the observed distribution of EU nationality across the different leagues/nations is highly unlikely to have occurred by chance. Therefore, we reject the null hypothesis (H0), which stated that there is no association between EU nationality and the league/nation where the club is based. Instead, the alternative hypothesis (Ha) is supported, meaning there is a significant association between the two variables.

Given the p-value of 9.999e-05 (which is effectively 0.0001), the result is highly statistically significant. This means that the probability of observing such an association (or something more extreme) under the assumption of no association (the null hypothesis) is extremely low. Thus, we can confidently conclude that EU nationality and the league/nation based are not independent — they are associated.

7.4 Hypothesis 4: Relationship between Salary and League/Nation (Based)

  • H0: There is no correlation between salary and the league/nation (Based) where the club is located.

  • Ha: There is a correlation between salary and the league/nation (Based) where the club is located.

  • Variables: Transformed Salary (Continuous), Based (Nominal with multiple categories)

7.4.1 Adjusting Categories of League/Nation (Based) for Analysis

When examining the hypothesis about the relationship between salary and the league/nation (Based), two potential approaches were considered:

  1. Keep the Original Hypothesis and Reduce Categories: The original hypothesis includes all categories of the League/Nation (Based) variable. However, due to the high number of categories, directly analyzing all groups poses challenges such as sparsity in data for some categories and interpretational complexity. To address this, the categories were reduced by focusing on the top 15 leagues/nations with the highest average salary and including the Is_top_5_League group. This preprocessing step ensured a more manageable analysis without discarding any data rows or fundamentally altering the hypothesis. The hypothesis remained:

“H0: There is no correlation between salary and the league/nation (Based) where the club is located.”

  1. Change the Hypothesis: Alternatively, the hypothesis could be refined to focus explicitly on the reduced dataset, such as:

“H0: There is no correlation between salary and the top 15 leagues/nations by average salary and top 5 leagues.”

While this approach would simplify the analysis further, it would diverge from the other hypotheses in the project, all of which use the entire dataset. It would also exclude the possibility of evaluating relationships involving lower-ranked leagues/nations.

Preferred Option: The first option was chosen to maintain consistency across the project by using the full dataset while addressing practical concerns through preprocessing. The decision to reduce categories was motivated by the need for meaningful insights while preserving the integrity of the original hypothesis.

Although Kruskal-Wallis is a non-parametric test for >2 groups, it does not leverage the assumption of normality. Since the data satisfies normality after transformation, One-Way ANOVA provides greater statistical power and is the preferred choice.

Step 1: Pre-Test for Homogeneity of Variances
# Bartlett's test for homogeneity of variances
#bartlett_result <- stats::bartlett.test(log_salary ~ Based, data = filtered_data)
#print(bartlett_result)
# --->  Error in bartlett.test.default(x = mf[[1L]], g = mf[[2L]]) : there must be at least 2 observations in each group
# ----> # Filter to ensure groups have at least 2 observations
filtered_data <- filtered_data %>%
  group_by(Based) %>%
  filter(n() >= 2) %>%
  ungroup()

# Bartlett's test for homogeneity of variances
bartlett_result <- stats::bartlett.test(log_salary ~ Based, data = filtered_data)
print(bartlett_result)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  log_salary by Based
## Bartlett's K-squared = 657.55, df = 14, p-value < 2.2e-16
# Levene's test (alternative, more robust)
library(car)
levene_result <- car::leveneTest(log_salary ~ Based, data = filtered_data)
print(levene_result)
## Levene's Test for Homogeneity of Variance (center = median)
##         Df F value    Pr(>F)    
## group   14  23.424 < 2.2e-16 ***
##       3866                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

We tested the assumption of homogeneity of variances (i.e., equal variances across the different league/nation groups) using Bartlett’s Test and Levene’s Test. These tests help us assess whether the variances across the groups are significantly different, which is an important assumption for performing One-Way ANOVA.

The Bartlett’s K-squared statistic is 657.55 with a p-value < 2.2e-16. Since the p-value is extremely small (less than 0.05), we reject the null hypothesis that the variances across the groups are equal. This indicates that the assumption of equal variances is violated. Bartlett’s test is sensitive to departures from normality, which may be the cause of the significant result.

The Levene’s test result shows an F-value of 23.424 with a p-value < 2.2e-16. Like Bartlett’s test, Levene’s test also provides strong evidence that the variances across the groups are unequal. Since Levene’s test is more robust to violations of normality, it is generally preferred when normality is in question. The significant result further supports the conclusion that the assumption of equal variances is violated.

Step 2: Perform ANOVA Based on Variance Test

In this step of the analysis we perform Welch’s ANOVA, which will allow us to assess whether there are significant differences in salary means across the selected leagues/nations despite the violation of the homogeneity of variances assumption.

# Standard One-Way ANOVA (if variances are equal)
anova_result <- stats::aov(log_salary ~ Based, data = filtered_data)
summary(anova_result)
##               Df Sum Sq Mean Sq F value Pr(>F)    
## Based         14    701   50.10   20.92 <2e-16 ***
## Residuals   3866   9256    2.39                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Welch’s ANOVA (if variances are unequal)
welch_result <- stats::oneway.test(log_salary ~ Based, data = filtered_data, var.equal = FALSE)
print(welch_result)
## 
##  One-way analysis of means (not assuming equal variances)
## 
## data:  log_salary and Based
## F = 30.161, num df = 14.00, denom df = 125.03, p-value < 2.2e-16

A Welch’s ANOVA was conducted to assess whether there are statistically significant differences in log-transformed salaries (log_salary) across the 15 categories of the Based variable. Welch’s ANOVA was chosen as it does not assume equal variances between groups. The analysis revealed a highly significant effect of the Based variable on log_salary, F(14, 125.03) = 30.161, p < 2.2e-16.

This result indicates that the mean log-transformed salaries differ across at least some of the categories of Based. However, Welch’s ANOVA does not specify which pairs of categories are significantly different.

Step 3: Post-Hoc Tests

To determine which specific categories of Based differ significantly in their mean log_salary, post-hoc tests are necessary. Since Welch’s ANOVA suggests unequal variances among groups, the Games-Howell post-hoc test is the most appropriate choice. This test is robust to heteroscedasticity and unequal group sizes and will allow for pairwise comparisons to identify significant differences between categories.

# install.packages("rstatix")
library(rstatix)

# Perform Games-Howell post-hoc test for pairwise comparisons
games_howell_result <- filtered_data %>%
  dunn_test(log_salary ~ Based, p.adjust.method = "bonferroni")

# Print the results
print(games_howell_result,100)
## # A tibble: 105 × 9
##    .y.        group1                   group2                              
##  * <chr>      <chr>                    <chr>                               
##  1 log_salary England (Premier League) France (Ligue 1)                    
##  2 log_salary England (Premier League) Germany (Bundesliga)                
##  3 log_salary England (Premier League) Italy (Serie A)                     
##  4 log_salary England (Premier League) Mexico (Liga Mx)                    
##  5 log_salary England (Premier League) Qatar (Lower Division)              
##  6 log_salary England (Premier League) Qatar (Qnb Stars League)            
##  7 log_salary England (Premier League) Russia (Rpl)                        
##  8 log_salary England (Premier League) Saudi Arabia (First Division League)
##  9 log_salary England (Premier League) Saudi Arabia (Saudi Pro League)     
## 10 log_salary England (Premier League) Saudi Arabia (Second Division Grp A)
##       n1    n2 statistic        p    p.adj p.adj.signif
##  * <int> <int>     <dbl>    <dbl>    <dbl> <chr>       
##  1   717   479    -13.2  7.07e-40 7.42e-38 ****        
##  2   717   516     -4.37 1.22e- 5 1.28e- 3 **          
##  3   717   672     -9.78 1.33e-22 1.40e-20 ****        
##  4   717   176    -10.1  5.10e-24 5.36e-22 ****        
##  5   717     4     -2.17 3.01e- 2 1   e+ 0 ns          
##  6   717   111     -2.45 1.45e- 2 1   e+ 0 ns          
##  7   717   167     -8.41 3.93e-17 4.13e-15 ****        
##  8   717    71     -5.84 5.32e- 9 5.59e- 7 ****        
##  9   717   238      2.46 1.37e- 2 1   e+ 0 ns          
## 10   717    17     -3.78 1.55e- 4 1.63e- 2 *           
## # ℹ 95 more rows
summary_stats_pair4 <- filtered_data %>%
  group_by(Based) %>%
  summarise(
    Mean_Log_Salary = mean(log_salary, na.rm = TRUE),
    SD_Log_Salary = sd(log_salary, na.rm = TRUE),
    .groups = "drop"
)
# Print all rows in the console
#print(summary_stats_pair4, n = Inf)

# Display the full table in Markdown
kable(summary_stats_pair4, format = "markdown", col.names = c("League/Nation", "Mean (Log Salary)", "SD (Log Salary)"))
League/Nation Mean (Log Salary) SD (Log Salary)
England (Premier League) 14.00495 1.8344819
France (Ligue 1) 13.01264 1.7590468
Germany (Bundesliga) 13.81698 1.3110596
Italy (Serie A) 13.24816 1.8223377
Mexico (Liga Mx) 13.22525 0.7886315
Qatar (Lower Division) 13.12595 0.1332555
Qatar (Qnb Stars League) 13.89872 0.8061765
Russia (Rpl) 13.29951 0.9219086
Saudi Arabia (First Division League) 13.38190 0.8290496
Saudi Arabia (Saudi Pro League) 14.56082 1.2083962
Saudi Arabia (Second Division Grp A) 13.27365 0.2850677
Saudi Arabia (Second Division Grp B) 13.58536 0.3999790
Spain (LaLiga) 13.35774 1.6490501
U.a.e. (First Division League) 13.34386 0.4234547
U.a.e. (Pro League) 13.78827 0.6015284

The analysis focused on comparing player salary data across various league pairings. The test statistic results (p-values) provide insights into whether there are significant salary differences between leagues. Leagues with asterisks next to their p-values indicate statistically significant differences in salaries between the two leagues. The number of stars corresponds to the strength of this significance. Leagues marked as “ns” (not significant) show no evidence of salary differences at a reasonable confidence level.

Observations:

  • Many pairings like Russia vs. Saudi Arabia (RPL vs. Saudi Pro League) or MLS vs. Ligue 1 show no significant difference in salaries, implying that these leagues may offer similar compensation to their players.

  • Leagues like Premier League vs. Serie A or Bundesliga vs. Serie A show a significant salary gap, suggesting a clear disparity in compensation across European football.

  • Leagues like Brazil’s Série A and Saudi Pro League show huge gaps, which may reflect growing financial investments in the Saudi league.

7.5 Difference in Salary between Top 5 Leagues and Non-Top 5 Leagues

  • H0: There is no difference in average salary between players in Top 5 leagues and those in non-Top 5 leagues.

  • Ha: There is a difference in average salary between players in Top 5 leagues and those in non-Top 5 leagues.

  • Variables: Is_Top_5_League (Binary Nominal), Salary (Continuous)

Since the goal is to compare the mean salaries between two independent groups (Top 5 leagues vs. non-Top 5 leagues), the appropriate test to use is a t-test for independent samples.

# Convert the variable Is_top_5_League to a factor 
data$Is_top_5_League <- as.factor(data$Is_top_5_League)

# Subset the data based on Is_top_5_League factor levels
top_5_leagues <- data$log_salary[data$Is_top_5_League == "1"]
non_top_5_leagues <- data$log_salary[data$Is_top_5_League == "0"]

# Perform Levene's Test for Equal Variance
library(car)
#levene_test <- leveneTest(log_salary ~ Is_top_5_League, data = data)
#print(levene_test)

# Perform the T-test
t_test_result <- t.test(top_5_leagues, non_top_5_leagues, var.equal = TRUE)

# Print the t-test results
print(t_test_result)
## 
##  Two Sample t-test
## 
## data:  top_5_leagues and non_top_5_leagues
## t = 85.712, df = 35476, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  2.597233 2.718799
## sample estimates:
## mean of x mean of y 
##  13.51545  10.85743
# Conclusion based on p-value
if(t_test_result$p.value < 0.05) {
  print("Reject H0: There is a significant difference in salary between Top 5 and non-Top 5 leagues.")
} else {
  print("Fail to reject H0: There is no significant difference in salary between Top 5 and non-Top 5 leagues.")
}
## [1] "Reject H0: There is a significant difference in salary between Top 5 and non-Top 5 leagues."

A two-sample t-test was conducted to examine whether there is a significant difference in average log-transformed salary between players in Top 5 leagues and those in non-Top 5 leagues. The test resulted in a t-value = 85.712 with df = 35476, and a p-value < 2.2e-16, which is highly significant.

The mean log-salary for players in Top 5 leagues was 13.51545, while the mean log-salary for players in non-Top 5 leagues was 10.857. The 95% confidence interval for the difference in means was [2.597, 2.719], indicating that the average salary for players in Top 5 leagues is significantly higher than those in non-Top 5 leagues.

Since the p-value is far below the 0.05 significance level, we reject the null hypothesis (H0). This suggests that there is a statistically significant difference in average salary between players in Top 5 leagues and those in non-Top 5 leagues, with players in Top 5 leagues earning higher salaries on average.

8. Conclusion - Part 2

Pair 1

  • H0: There is no correlation between players’ current reputation and their annual salary.

  • Ha: There is a correlation between players’ current reputation and their annual salary.

  • Variables: Reputation (Continuous, Approaching Normal), Transformed Salary (Continuous, Normal)

  • Conclusion: A Pearson correlation was conducted to examine the relationship between reputation and log-transformed salary. The results indicated a strong positive correlation, (r=0.84, n=35,477, p < 0.001). There is therefore evidence to reject the null hypothesis in favor of the alternative hypothesis, suggesting that players with higher reputations tend to earn significantly higher salaries.

Pair 2

  • H0: There is no correlation between players’ current reputation and their annual salary.

  • Ha: There is a correlation between players’ current reputation and their annual salary.

  • Variables: Reputation (Continuous), Transformed Salary (Continuous)

  • Conclusion: A Pearson correlation was conducted to examine the relationship between age and log-transformed salary. The results indicated a weak positive correlation (r=0.091, n=35,477, p<0.001). There is evidence to reject the null hypothesis in favor of the alternative hypothesis, suggesting a slight tendency for older players to earn higher salaries, although the relationship is not strong.

Pair 3

  • H0: There is no association between EU nationality and the league/nation (Based) where the club is located.

  • Ha: There is an association between EU nationality and the league/nation (Based) where the club is located.

  • Variables: EU National (Binary Nominal), Based (Nominal with multiple categories)

  • Conclusion: A chi-square test of independence revealed a statistically significant association between EU nationality and the league/nation (Based) where the club is located (𝜒2=21,868, df=805, p<0.001). This result provides evidence to reject the null hypothesis in favor of the alternative hypothesis. The association indicates that players’ nationalities (EU or non-EU) are significantly related to the leagues or nations in which they play, likely reflecting regional preferences or work eligibility cons

Pair 4

  • H0: There is no correlation between salary and the league/nation (Based) where the club is located.

  • Ha: There is a correlation between salary and the league/nation (Based) where the club is located.

  • Variables: Transformed Salary (Continuous), Based (Nominal with multiple categories)

  • Conclusion: A one-way analysis of variance (ANOVA) was conducted to examine the effect of league/nation (Based) on log-transformed salary. The results indicated a significant difference between the groups (F(14,125.03)=30.16, p<0.001).

    The mean and standard deviation of log-transformed salaries for each group are as follows:

    League/Nation (Based) Mean (Log Salary) SD (Log Salary)
    England (Premier League) 14 1.83
    France (Ligue 1) 13.01 1.76
    Germany (Bundesliga) 13.82 1.31
    Italy (Serie A) 13.25 1.82
    Mexico (Liga Mx) 13.23 0.79
    Qatar (Lower Division) 13.13 0.13
    Qatar (QNB Stars League) 13.9 0.81
    Russia (RPL) 13.3 0.92
    Saudi Arabia (First Division League) 13.38 0.83
    Saudi Arabia (Saudi Pro League) 14.56 1.21
    Saudi Arabia (Second Division Grp A) 13.27 0.29
    Saudi Arabia (Second Division Grp B) 13.59 0.4
    Spain (LaLiga) 13.36 1.65
    U.A.E. (First Division League) 13.34 0.42
    U.A.E. (Pro League) 13.79 0.6

    The calculated effect size (η2=0.18) indicates a moderate effect, with 18% of the variance in log-transformed salary explained by league/nation classification. These results provide strong evidence to reject the null hypothesis in favor of the alternative hypothesis, confirming that league/nation significantly impacts salary.

Pair 5

  • H0: There is no difference in average salary between players in Top 5 leagues and those in non-Top 5 leagues.

  • Ha: There is a difference in average salary between players in Top 5 leagues and those in non-Top 5 leagues.

  • Variables: Is_Top_5_League (Binary Nominal), Transformed Salary (Continuous)

  • Conclusion: A two-sample t-test was conducted to compare the means of log-transformed salaries between players in Top 5 leagues and those in non-Top 5 leagues. The results indicated a significant difference (t(35,476) = 85.71, p<0.001).

    • Top 5 Leagues: M=13.52, SD=0.87

    • Non-Top 5 Leagues: M=10.86, SD=1.23

    The calculated effect size (d=2.57) indicates a very large effect. There is strong evidence to reject the null hypothesis in favor of the alternative hypothesis, confirming that players in Top 5 leagues earn significantly higher salaries.

References CA_1

Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Hillside, NJ: Lawrence Erlbaum Associates.

Cohen, S., Kamarck, T., & Mermelstein, R. (1983). A global measure of perceived stress. Journal of Health and Social Behavior, 24(4), 385–396.

Crowne, D. P., & Marlowe, D. (1960). A new scale of social desirability independent of psychopathology. Journal of Consulting Psychology, 24(4), 349–354.

Curran, P. J., West, S. G., & Finch, J. F. (1996). The robustness of test statistics to nonnormality and specification error in confirmatory factor analysis. Psychological Methods, 1(1), 16–29.

Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using IBM SPSS statistics (4th ed.). Sage Publications Limited.

Lakens, D., et al. (2018). Calculating and reporting effect sizes to facilitate cumulative science: A practical primer for t-tests and ANOVAs. Frontiers in Psychology, 9, 325.

Levene, H. (1960). Robust tests for equality of variances. In Contributions to Probability and Statistics (pp. 278–292). Stanford University Press.

Osborne, J. W. (2002). Notes on the use of data transformations. Practical Assessment, Research & Evaluation, 8(6), 1-7.

Pallant, J. (2000). Development and validation of a scale to measure perceived control of internal states. Journal of Personality Assessment, 75(2), 308–337.

Pearlin, L., & Schooler, C. (1978). The structure of coping. Journal of Health and Social Behavior, 19(1), 2–21.

Rosenberg, M. (1965). Society and the adolescent self-image. Princeton, NJ: Princeton University Press.

Scheier, M. F., & Carver, C. S. (1985). Optimism, coping, and health: Assessment and implications of generalized outcome expectancies. Health Psychology, 4(3), 219–247.

Tabachnick, B. G., & Fidell, L. S. (2012). Using multivariate statistics (6th ed.). Pearson.

Watson, D., Clark, L. A., & Tellegen, A. (1988). Development and validation of brief measures of positive and negative affect: The PANAS scales. Journal of Personality and Social Psychology, 54(6), 1063–1070.

Welch, B. L. (1951). On the comparison of several mean values: An alternative approach to the analysis of variance. Biometrika, 38(3/4), 330-336.


————————————— Part_3 —————————————-


9. Multiple Linear Regression

This statistical analysis explores whether a combination of player-specific characteristics, including reputation, age, and their interactions, significantly predicts annual salary. Specifically, the following research questions are addressed:

  • Can player reputation, age, and their interaction with match appearances (Apps) predict log-transformed salary?
  • Does adding player caps to the predictors improve the prediction of log-transformed salary?

To answer these questions, two multiple linear regression models are developed:

  • Model 1: Includes reputation, age, and the interaction term (Reputation × Apps).
  • Model 2: Builds on Model 1 by adding Caps as an additional predictor.

The dataset consists of data from 35,478 professional football players across global leagues, with variables of interest such as annual salary (log-transformed for normality), reputation, age, match appearances (Apps), and caps.

Section 2 describes data preparation for regression analysis. Section 3 presents model fitting, diagnostics, and interpretation. Section 4 compares the two models. Section 5 discusses the study’s conclusions. A significance threshold of 0.05 is used, with effect sizes following Cohen’s conventions (Cohen, 1988).

9.1 Hypothesis

9.1.1 Model 1 Hypothesis
  • H0: There is no relationship between log-transformed salary and predictors, including reputation, age, and their interaction with Apps.

  • Ha: There is a relationship between log-transformed salary and predictors, including reputation, age, and their interaction with Apps.

  • Variables: Transformed Salary, Age, Reputation, Apps.

9.1.2 Model 2 Hypothesis
  • H0: Adding Caps to the predictors does not significantly improve the model’s prediction of log-transformed salary.

  • Ha: Adding Caps to the predictors significantly improves the model’s prediction of log-transformed salary.

  • Variables: Transformed Salary, Age, Reputation, Apps, Caps.

9.2 Data Description

The dataset contains variables collected on players across multiple leagues:

  • Outcome Variable: Log-transformed salary (continuous).

    • Predictors for Model 1:
    • Reputation (continuous).
    • Age (continuous).
    • Interaction term: Reputation × Apps (continuous).
  • Predictors for Model 2:

    • Reputation (continuous).
    • Age (continuous).
    • Interaction term: Reputation × Apps (continuous).
    • Caps (continuous).

9.3 Predicting Salary: The Role of Reputation, Age, Apps, and Caps

This section discusses the multiple linear regression models developed to examine the predictors of log-transformed salary in professional football players. Specifically, the study investigates how a combination of player characteristics, including reputation, age, and their interaction with match appearances, can predict salary. Additionally, a second model is developed by including player caps as an additional predictor. The models’ fit and usefulness are assessed, and the results are interpreted to determine how each predictor impacts salary. The section also provides an evaluation of how the models meet the assumptions of linear regression, ensuring the reliability of the findings.

9.3.1 Preprocessing
  • Missing values were checked, and none were found for the variables of interest.
  • Salary was log-transformed to improve normality.
  • Descriptive statistics and correlation matrices were used to explore relationships between predictors and the outcome variable.
9.3.2 Model Fitting
Model 1: Exploring the Combined Impact of Reputation, Age, and Apps on Salary

A multiple linear regression model was fitted using Reputation, Age, and their interaction with Apps (Reputation × Apps) as predictors for log-transformed salary.

The regression equation is expressed as follows:

log(Salary) = β0 + β1 x (Reputation) + β2 x (Age) + β3 x (Reputation × Apps) + ϵ

## 
## Call:
## lm(formula = log_salary ~ Reputation + Age + Reputation_Apps, 
##     data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.4457 -0.5583 -0.0336  0.5295  6.4081 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      6.320e+00  5.157e-02  122.56   <2e-16 ***
## Reputation       1.193e-03  6.072e-06  196.44   <2e-16 ***
## Age             -5.253e-02  1.531e-03  -34.31   <2e-16 ***
## Reputation_Apps  5.660e-07  1.285e-08   44.05   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9205 on 35474 degrees of freedom
## Multiple R-squared:  0.7285, Adjusted R-squared:  0.7285 
## F-statistic: 3.173e+04 on 3 and 35474 DF,  p-value: < 2.2e-16

A statistically significant linear regression model was found for Model 1

(F(3, 35474) = 3.17e+04, p < 0.01)

with an adjusted R² of 0.7285:

log(Salary) = 6.32 + 0.00119 × Reputation - 0.0525 × Age + 5.66e-07 × Reputation × Apps

In this model, all predictors were statistically significant:

  • Reputation (p<0.001)
  • Age (p<0.001)
  • Reputation × Apps (p<0.001)

This model explains 72.85% of the variance in log-transformed salary, suggesting that reputation, age, and the interaction between reputation and match appearances are strong predictors of salary.

Model 2: Salary Prediction Incorporating Caps, Reputation, Age, and Apps

Building on Model 1, Caps was added as a predictor to assess its impact on the prediction of log-transformed salary. The regression equation is expressed as:

log(Salary) = β0 + β1 x (Reputation) + β2 x (Age) + β3 x (Reputation × Apps) + β4 x (Caps) + ϵ

## 
## Call:
## lm(formula = log_salary ~ Reputation + Age + Reputation_Apps + 
##     Caps, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.3944 -0.5529 -0.0265  0.5293  6.4184 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      6.403e+00  5.207e-02  122.96   <2e-16 ***
## Reputation       1.187e-03  6.089e-06  194.89   <2e-16 ***
## Age             -5.525e-02  1.550e-03  -35.66   <2e-16 ***
## Reputation_Apps  5.596e-07  1.284e-08   43.57   <2e-16 ***
## Caps             3.820e-03  3.591e-04   10.64   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.919 on 35473 degrees of freedom
## Multiple R-squared:  0.7294, Adjusted R-squared:  0.7293 
## F-statistic: 2.39e+04 on 4 and 35473 DF,  p-value: < 2.2e-16

For Model 2, which includes Caps as an additional predictor, a statistically significant regression equation was also found

(F(4, 35473) = 2.39e+04, p < 0.01)

with an adjusted R² of 0.7293:

log(Salary) = 6.40 + 0.00119 × Reputation - 0.0552 × Age + 5.60e-07 × Reputation × Apps + 0.00382 × Caps

All predictors were statistically significant:

  • Reputation (p<0.001)
  • Age (p<0.001)
  • Reputation × Apps (p<0.001)
  • Caps (p<0.001)

The adjusted R² value of 0.7293 suggests that the addition of Caps slightly improves the model’s ability to explain the variance in salary, increasing the explanatory power to 72.93%.

9.3.3 Model Diagnostics
Assumptions Check
  • Linearity: The relationship between the predictors (Reputation, Age, Reputation × Apps, and Caps) and log-transformed salary is assumed to be linear. Visual inspection of residual plots will confirm this.

  • Homoscedasticity: The variance of residuals should be constant across all levels of predictors. Residual vs. fitted plots will assess this.

  • Normality of Residuals: Residuals should follow a normal distribution. A histogram and Q-Q plot of residuals will be used.

  • Multicollinearity: Variance Inflation Factor (VIF) will check for multicollinearity among predictors.

  • Outliers and Influential Points: Cook’s distance and leverage statistics will identify influential observations.

Model 1: Assessing Residuals and Influential Points in the Combined Model

##      Reputation             Age Reputation_Apps 
##        1.830457        2.297701        3.336917

# Residuals vs predictors for Model 1
residuals_1 <- residuals(linear_model_1) # Extract residuals
predictors_1 <- names(linear_model_1$model)[-1] # Get predictor names

# Loop through predictors and create plots for Model 1
for (predictor in predictors_1) {
  plot <- ggplot(data, aes_string(x = predictor, y = residuals_1)) +
    geom_point() +
    geom_hline(yintercept = 0, color = "red", linetype = "dashed") +
    labs(title = paste("Residuals vs", predictor, "(Model 1)"),
         x = predictor,
         y = "Residuals") +
    theme_minimal()
  
  print(plot) # Display the plot
}

The data met the assumption of non-zero variances for the predictors in the model: Reputation (1.83), Age (2.30), and Reputation_Apps (3.34).

The residual diagnostic plots for the linear regression model are displayed above. The model residuals showed a satisfactory distribution, with a density plot resembling normality. Minor deviations were observed in the Q-Q plot, suggesting slight non-normality in the residuals. The maximum residual value was 0.53, and the minimum was -5.45. These values indicate that the residuals are fairly well distributed, with only slight skewness observed.

Examination of Cook’s distance revealed a maximum value of 0.0084, which is well below the threshold of 1. This indicates that no individual data points exert undue influence on the regression model. Although one potential leverage point was identified, the observation was inspected and deemed valid, and thus retained in the analysis. Therefore, the distribution of residuals can be considered normal, with no influential points that would affect the model.

Further inspection of the residuals versus fitted values and residuals versus predictors plots displayed a generally random scatter around the zero line. No significant funnel shapes or patterns were observed, suggesting that the assumption of constant variance (homoscedasticity) is met. A slight distortion of the zero line in the residuals versus fitted values plot was not substantial enough to raise concerns about non-linearity or heteroscedasticity.

Finally, multicollinearity tests indicated that multicollinearity was not a concern, with the following Variance Inflation Factor (VIF) results:

  • Reputation: 1.83
  • Age: 2.30
  • Reputation_Apps: 3.34

These VIF values are all below the threshold of 10, suggesting that the predictors are not highly collinear.

In summary, the model meets the key assumptions of multiple linear regression, including linearity, normality of residuals, homoscedasticity, and low multicollinearity, with no concerns regarding influential points. The model diagnostics suggest that it provides a reliable estimate of the relationship between the predictors (Reputation, Age, and Reputation_Apps) and the log-transformed salary.

Model 2: Diagnostic Evaluation of the Extended Salary Prediction Model with Caps

##      Reputation             Age Reputation_Apps            Caps 
##        1.846621        2.362427        3.344248        1.137491

# Residuals vs predictors for Model 2
residuals_2 <- residuals(linear_model_2) # Extract residuals
predictors_2 <- names(linear_model_2$model)[-1] # Get predictor names

# Loop through predictors and create plots for Model 2
for (predictor in predictors_2) {
  plot <- ggplot(data, aes_string(x = predictor, y = residuals_2)) +
    geom_point() +
    geom_hline(yintercept = 0, color = "red", linetype = "dashed") +
    labs(title = paste("Residuals vs", predictor, "(Model 2)"),
         x = predictor,
         y = "Residuals") +
    theme_minimal()
  
  print(plot) # Display the plot
}

The data met the assumption of non-zero variances (Reputation=7629.85, Age=30.63, Reputation_Apps=1572.39, Caps=136.68).

The residual diagnostic plots are shown above. The model residuals showed a satisfactory distribution with a density plot resembling normality, although minor deviations were observed in the Q-Q plot, indicating slight non-normality in the residuals (max=0.5293, min=-5.3944). However, examination of residuals using the guidance of Field, Miles, and Field (2012) identified no residuals with Cook’s distance greater than 1. The maximum Cook’s distance was found to be 0.0179, suggesting that there are no highly influential points that need to be removed.

Inspection of the residuals vs. fitted values and residuals vs. predictors plots displayed a generally random scatter around the zero line, with no significant funnel shapes or patterns, which suggests that the assumption of constant variance (homoscedasticity) is met. The slight distortion of the zero line on the residuals vs. fitted line was not substantial enough to indicate major concerns with non-linearity or heteroscedasticity.

Tests to check if the data met the assumption of collinearity indicated that multicollinearity was not a concern, with all Variance Inflation Factor (VIF) values below 10: Reputation (VIF=1.85), Age (VIF=2.36), Reputation_Apps (VIF=3.34), and Caps (VIF=1.14).

The model can be considered to meet the assumptions of multiple linear regression, including linearity, normality of residuals, homoscedasticity, and low multicollinearity, with minimal concerns about influential points. The model diagnostics suggest that it provides a reliable estimate of the relationship between salary and the predictors Reputation, Age, Reputation_Apps, and Caps.

9.3.4 Results and Interpretation
Model 1: Analyzing Interaction Effects of Reputation, Age, and Apps

The regression equation for Model 1 reveals that for each unit increase in Reputation, the log of salary is expected to increase by 0.00119 units, while Age has a negative relationship with the log of salary, with a decrease of 0.05253 units for each year increase. For every unit increase in Reputation_Apps, the log of salary increases by 0.000000566 units. When all predictors are at their baseline values, the model estimates a log salary of 6.32. This model explains 72.85% of the variance in the log of salary, as indicated by the R-squared value.

Using the mean values of the predictors, the predicted log salary is 19.04, which is higher than the observed mean of 19.03. This indicates that the model tends to slightly overestimate the log salary, though the difference is minimal and not statistically significant. These results suggest that the model provides a good fit and captures the key factors influencing salary.

Model 2: Insights from Caps-Enhanced Predictions on Salary

In Model 2, which includes Caps as an additional predictor, the coefficients for Reputation, Age, and Reputation_Apps remain largely unchanged, with each predictor showing similar effects on the log of salary as in Model 1. The additional variable, Caps, is found to have a positive relationship with the log of salary, with an increase of 0.00382 units for each additional match played. The intercept value for this model is 6.40, indicating the log salary when all predictors are at their baseline levels. This model explains 72.94% of the variance in the log salary, which is a slight improvement over Model 1.

Using the mean values of the predictors, the predicted log salary is again 19.04, which is very close to the observed mean of 19.03. This indicates that the addition of Caps has little effect on the model’s ability to predict log salary. The difference between predicted and observed log salary remains minimal, suggesting the model provides a reliable estimate of the relationship between salary and the predictors.

9.4 Comparison of Models

Both models showed strong and significant associations between Reputation, Age, Reputation_Apps, and Caps with salary (all p < 0.001), with stable coefficients across both models. Including Caps in the second model did not reveal any significant differential effects. Moreover, the addition of Caps slightly reduced the proportion of variance explained by the model (adjusted R² = 0.7294 vs. 0.7285), indicating that Caps did not substantially enhance the model’s explanatory power. This result aligns with exploratory analysis, which showed that Reputation, Age, and Reputation_Apps were the primary contributors to the model’s predictive ability.

9.5 Conclusion

This analysis of salary prediction using multiple linear regression demonstrated that Reputation, Age, and Reputation_Apps are key predictors of salary, with Reputation and Reputation_Apps having positive associations, and Age showing a negative relationship with salary. The addition of Caps in the second model did not significantly improve the model’s ability to explain salary, as indicated by the minimal increase in the adjusted R² value.

The models satisfied the assumptions of multiple linear regression, including linearity, normality of residuals, homoscedasticity, and low multicollinearity. The results suggest that the relationship between the predictors and salary is stable and reliable. Further research could explore additional variables, such as education level or geographic location, to enhance the model’s explanatory power. Additionally, investigating potential interactions between Reputation and Age could provide deeper insights into their joint influence on salary.

In summary, while Caps was found to be a statistically significant predictor, it does not add significant explanatory value to the model. Future studies should explore other potential predictors or model adjustments to improve the precision of salary predictions.

References CA_2

Cohen, S., Kamarck, T. & Mermelstein, R. (1983). A global measure of perceived stress. Journal of Health and Social Behavior, 24, 385–96.

Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Hillside, NJ: Lawrence Erlbaum Associates.

Crowne, D.P. & Marlowe, D. (1960). A new scale of social desirability independent of psychopathology. Journal of Consulting Psychology, 24, 349–54.

Curran, Patrick J., Stephen G. West, and John F. Finch. (1996). “The robustness of test statistics to nonnormality and specification error in confirmatory factor analysis.” Psychological Methods, 1.1, 16.

Diener, E., Emmons, R.A., Larson, R.J. & Griffin, S. (1985). The Satisfaction with Life scale. Journal of Personality Assessment, 49, 71–6.

Field, A., Field, Z., & Miles, J. (2020). Discovering statistics using IBM SPSS statistics (5th ed.). Sage Publications Limited.

Pallant, J. (2020). Survival manual: A step by step guide to data analysis using SPSS (7th ed.). Taylor & Francis.

Scheier, M.F. & Carver, C.S. (1985). Optimism, coping and health: An assessment and implications of generalized outcome expectancies. Health Psychology, 4, 219–47.

Tabachnik, B.G., & Fidell, L.S. (2013). Using Multivariate Statistics (6th ed.). Pearson.